#include "StaticFFT_9.h"
#include "FFTCommon.h"
#include <xmmintrin.h>
#ifdef __AVX__
#include <immintrin.h>
#endif

#ifndef __AVX__
//SSE
void StaticFFT_9()
{
	float Re0, Re1, Re2, Re3;
	float Im0, Im1, Im2, Im3;
	float RA, IA;
	float RF1, IF1, RF2, IF2;
	float R, I;
	__m128 mRF1, mIF1, mRF2, mIF2;
	__m128 mR, mI;
	R = SFRe[510] + SFRe[511];
	I = SFIm[510] + SFIm[511];
	SFRe[511] = SFRe[510] - SFRe[511];
	SFIm[511] = SFIm[510] - SFIm[511];
	SFRe[510] = R;
	SFIm[510] = I;
	R = SFRe[508] + SFRe[509];
	I = SFIm[508] + SFIm[509];
	SFRe[509] = SFRe[508] - SFRe[509];
	SFIm[509] = SFIm[508] - SFIm[509];
	SFRe[508] = R;
	SFIm[508] = I;
	Re0 = SFRe[504]; Im0 = SFIm[504];
	Re1 = SFRe[505]; Im1 = SFIm[505];
	Re2 = SFRe[506]; Im2 = SFIm[506];
	Re3 = SFRe[507]; Im3 = SFIm[507];
	SFRe[504] = Re0 + Re1; SFIm[504] = Im0 + Im1;
	SFRe[505] = Re0 - Re1; SFIm[505] = Im0 - Im1;
	SFRe[506] = Re2 + Re3; SFIm[506] = Im2 + Im3;
	SFRe[507] = Im2 - Im3; SFIm[507] = Re3 - Re2;
	RA = SFRe[504] + SFRe[506];
	IA = SFIm[504] + SFIm[506];
	SFRe[506] = SFRe[504] - SFRe[506];
	SFIm[506] = SFIm[504] - SFIm[506];
	SFRe[504] = RA;
	SFIm[504] = IA;
	RA = SFRe[505] + SFRe[507];
	IA = SFIm[505] + SFIm[507];
	SFRe[507] = SFRe[505] - SFRe[507];
	SFIm[507] = SFIm[505] - SFIm[507];
	SFRe[505] = RA;
	SFIm[505] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[508];
	I = SFIm[508];
	SFRe[508] = R * RF1 - I * IF1;
	SFIm[508] = R * IF1 + I * RF1;
	R = SFRe[510];
	I = SFIm[510];
	SFRe[510] = R * RF2 - I * IF2;
	SFIm[510] = R * IF2 + I * RF2;
	R = SFRe[510];
	I = SFIm[510];
	SFRe[510] = SFIm[508] - I;
	SFIm[510] = R - SFRe[508];
	SFRe[508] += R;
	SFIm[508] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[509];
	I = SFIm[509];
	SFRe[509] = R * RF1 - I * IF1;
	SFIm[509] = R * IF1 + I * RF1;
	R = SFRe[511];
	I = SFIm[511];
	SFRe[511] = R * RF2 - I * IF2;
	SFIm[511] = R * IF2 + I * RF2;
	R = SFRe[511];
	I = SFIm[511];
	SFRe[511] = SFIm[509] - I;
	SFIm[511] = R - SFRe[509];
	SFRe[509] += R;
	SFIm[509] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 504), _mm_load_ps(SFRe + 508));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 504), _mm_load_ps(SFIm + 508));
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFRe + 504), _mm_load_ps(SFRe + 508)));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(_mm_load_ps(SFIm + 504), _mm_load_ps(SFIm + 508)));
	_mm_store_ps(SFRe + 504, mR);
	_mm_store_ps(SFIm + 504, mI);
	R = SFRe[502] + SFRe[503];
	I = SFIm[502] + SFIm[503];
	SFRe[503] = SFRe[502] - SFRe[503];
	SFIm[503] = SFIm[502] - SFIm[503];
	SFRe[502] = R;
	SFIm[502] = I;
	R = SFRe[500] + SFRe[501];
	I = SFIm[500] + SFIm[501];
	SFRe[501] = SFRe[500] - SFRe[501];
	SFIm[501] = SFIm[500] - SFIm[501];
	SFRe[500] = R;
	SFIm[500] = I;
	Re0 = SFRe[496]; Im0 = SFIm[496];
	Re1 = SFRe[497]; Im1 = SFIm[497];
	Re2 = SFRe[498]; Im2 = SFIm[498];
	Re3 = SFRe[499]; Im3 = SFIm[499];
	SFRe[496] = Re0 + Re1; SFIm[496] = Im0 + Im1;
	SFRe[497] = Re0 - Re1; SFIm[497] = Im0 - Im1;
	SFRe[498] = Re2 + Re3; SFIm[498] = Im2 + Im3;
	SFRe[499] = Im2 - Im3; SFIm[499] = Re3 - Re2;
	RA = SFRe[496] + SFRe[498];
	IA = SFIm[496] + SFIm[498];
	SFRe[498] = SFRe[496] - SFRe[498];
	SFIm[498] = SFIm[496] - SFIm[498];
	SFRe[496] = RA;
	SFIm[496] = IA;
	RA = SFRe[497] + SFRe[499];
	IA = SFIm[497] + SFIm[499];
	SFRe[499] = SFRe[497] - SFRe[499];
	SFIm[499] = SFIm[497] - SFIm[499];
	SFRe[497] = RA;
	SFIm[497] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[500];
	I = SFIm[500];
	SFRe[500] = R * RF1 - I * IF1;
	SFIm[500] = R * IF1 + I * RF1;
	R = SFRe[502];
	I = SFIm[502];
	SFRe[502] = R * RF2 - I * IF2;
	SFIm[502] = R * IF2 + I * RF2;
	R = SFRe[502];
	I = SFIm[502];
	SFRe[502] = SFIm[500] - I;
	SFIm[502] = R - SFRe[500];
	SFRe[500] += R;
	SFIm[500] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[501];
	I = SFIm[501];
	SFRe[501] = R * RF1 - I * IF1;
	SFIm[501] = R * IF1 + I * RF1;
	R = SFRe[503];
	I = SFIm[503];
	SFRe[503] = R * RF2 - I * IF2;
	SFIm[503] = R * IF2 + I * RF2;
	R = SFRe[503];
	I = SFIm[503];
	SFRe[503] = SFIm[501] - I;
	SFIm[503] = R - SFRe[501];
	SFRe[501] += R;
	SFIm[501] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 496), _mm_load_ps(SFRe + 500));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 496), _mm_load_ps(SFIm + 500));
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFRe + 496), _mm_load_ps(SFRe + 500)));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(_mm_load_ps(SFIm + 496), _mm_load_ps(SFIm + 500)));
	_mm_store_ps(SFRe + 496, mR);
	_mm_store_ps(SFIm + 496, mI);
	Re0 = SFRe[492]; Im0 = SFIm[492];
	Re1 = SFRe[493]; Im1 = SFIm[493];
	Re2 = SFRe[494]; Im2 = SFIm[494];
	Re3 = SFRe[495]; Im3 = SFIm[495];
	SFRe[492] = Re0 + Re1; SFIm[492] = Im0 + Im1;
	SFRe[493] = Re0 - Re1; SFIm[493] = Im0 - Im1;
	SFRe[494] = Re2 + Re3; SFIm[494] = Im2 + Im3;
	SFRe[495] = Im2 - Im3; SFIm[495] = Re3 - Re2;
	RA = SFRe[492] + SFRe[494];
	IA = SFIm[492] + SFIm[494];
	SFRe[494] = SFRe[492] - SFRe[494];
	SFIm[494] = SFIm[492] - SFIm[494];
	SFRe[492] = RA;
	SFIm[492] = IA;
	RA = SFRe[493] + SFRe[495];
	IA = SFIm[493] + SFIm[495];
	SFRe[495] = SFRe[493] - SFRe[495];
	SFIm[495] = SFIm[493] - SFIm[495];
	SFRe[493] = RA;
	SFIm[493] = IA;
	Re0 = SFRe[488]; Im0 = SFIm[488];
	Re1 = SFRe[489]; Im1 = SFIm[489];
	Re2 = SFRe[490]; Im2 = SFIm[490];
	Re3 = SFRe[491]; Im3 = SFIm[491];
	SFRe[488] = Re0 + Re1; SFIm[488] = Im0 + Im1;
	SFRe[489] = Re0 - Re1; SFIm[489] = Im0 - Im1;
	SFRe[490] = Re2 + Re3; SFIm[490] = Im2 + Im3;
	SFRe[491] = Im2 - Im3; SFIm[491] = Re3 - Re2;
	RA = SFRe[488] + SFRe[490];
	IA = SFIm[488] + SFIm[490];
	SFRe[490] = SFRe[488] - SFRe[490];
	SFIm[490] = SFIm[488] - SFIm[490];
	SFRe[488] = RA;
	SFIm[488] = IA;
	RA = SFRe[489] + SFRe[491];
	IA = SFIm[489] + SFIm[491];
	SFRe[491] = SFRe[489] - SFRe[491];
	SFIm[491] = SFIm[489] - SFIm[491];
	SFRe[489] = RA;
	SFIm[489] = IA;
	R = SFRe[486] + SFRe[487];
	I = SFIm[486] + SFIm[487];
	SFRe[487] = SFRe[486] - SFRe[487];
	SFIm[487] = SFIm[486] - SFIm[487];
	SFRe[486] = R;
	SFIm[486] = I;
	R = SFRe[484] + SFRe[485];
	I = SFIm[484] + SFIm[485];
	SFRe[485] = SFRe[484] - SFRe[485];
	SFIm[485] = SFIm[484] - SFIm[485];
	SFRe[484] = R;
	SFIm[484] = I;
	Re0 = SFRe[480]; Im0 = SFIm[480];
	Re1 = SFRe[481]; Im1 = SFIm[481];
	Re2 = SFRe[482]; Im2 = SFIm[482];
	Re3 = SFRe[483]; Im3 = SFIm[483];
	SFRe[480] = Re0 + Re1; SFIm[480] = Im0 + Im1;
	SFRe[481] = Re0 - Re1; SFIm[481] = Im0 - Im1;
	SFRe[482] = Re2 + Re3; SFIm[482] = Im2 + Im3;
	SFRe[483] = Im2 - Im3; SFIm[483] = Re3 - Re2;
	RA = SFRe[480] + SFRe[482];
	IA = SFIm[480] + SFIm[482];
	SFRe[482] = SFRe[480] - SFRe[482];
	SFIm[482] = SFIm[480] - SFIm[482];
	SFRe[480] = RA;
	SFIm[480] = IA;
	RA = SFRe[481] + SFRe[483];
	IA = SFIm[481] + SFIm[483];
	SFRe[483] = SFRe[481] - SFRe[483];
	SFIm[483] = SFIm[481] - SFIm[483];
	SFRe[481] = RA;
	SFIm[481] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[484];
	I = SFIm[484];
	SFRe[484] = R * RF1 - I * IF1;
	SFIm[484] = R * IF1 + I * RF1;
	R = SFRe[486];
	I = SFIm[486];
	SFRe[486] = R * RF2 - I * IF2;
	SFIm[486] = R * IF2 + I * RF2;
	R = SFRe[486];
	I = SFIm[486];
	SFRe[486] = SFIm[484] - I;
	SFIm[486] = R - SFRe[484];
	SFRe[484] += R;
	SFIm[484] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[485];
	I = SFIm[485];
	SFRe[485] = R * RF1 - I * IF1;
	SFIm[485] = R * IF1 + I * RF1;
	R = SFRe[487];
	I = SFIm[487];
	SFRe[487] = R * RF2 - I * IF2;
	SFIm[487] = R * IF2 + I * RF2;
	R = SFRe[487];
	I = SFIm[487];
	SFRe[487] = SFIm[485] - I;
	SFIm[487] = R - SFRe[485];
	SFRe[485] += R;
	SFIm[485] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 484));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 484));
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 484)));
	_mm_store_ps(SFIm + 484, _mm_sub_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 484)));
	_mm_store_ps(SFRe + 480, mR);
	_mm_store_ps(SFIm + 480, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 488);
	mI = _mm_load_ps(SFIm + 488);
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 488, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 492, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFIm + 488), mI));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(mR, _mm_load_ps(SFRe + 488)));
	_mm_store_ps(SFRe + 488, _mm_add_ps(_mm_load_ps(SFRe + 488), mR));
	_mm_store_ps(SFIm + 488, _mm_add_ps(_mm_load_ps(SFIm + 488), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 488));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 488));
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 488)));
	_mm_store_ps(SFIm + 488, _mm_sub_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 488)));
	_mm_store_ps(SFRe + 480, mR);
	_mm_store_ps(SFIm + 480, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 484), _mm_load_ps(SFRe + 492));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 484), _mm_load_ps(SFIm + 492));
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFRe + 484), _mm_load_ps(SFRe + 492)));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(_mm_load_ps(SFIm + 484), _mm_load_ps(SFIm + 492)));
	_mm_store_ps(SFRe + 484, mR);
	_mm_store_ps(SFIm + 484, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 496);
	mI = _mm_load_ps(SFIm + 496);
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 496, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 504);
	mI = _mm_load_ps(SFIm + 504);
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 504, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 504);
	mI = _mm_load_ps(SFIm + 504);
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_load_ps(SFIm + 496), mI));
	_mm_store_ps(SFIm + 504, _mm_sub_ps(mR, _mm_load_ps(SFRe + 496)));
	_mm_store_ps(SFRe + 496, _mm_add_ps(_mm_load_ps(SFRe + 496), mR));
	_mm_store_ps(SFIm + 496, _mm_add_ps(_mm_load_ps(SFIm + 496), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 500);
	mI = _mm_load_ps(SFIm + 500);
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 500, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 508);
	mI = _mm_load_ps(SFIm + 508);
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 508, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 508);
	mI = _mm_load_ps(SFIm + 508);
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFIm + 500), mI));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(mR, _mm_load_ps(SFRe + 500)));
	_mm_store_ps(SFRe + 500, _mm_add_ps(_mm_load_ps(SFRe + 500), mR));
	_mm_store_ps(SFIm + 500, _mm_add_ps(_mm_load_ps(SFIm + 500), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 496));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 496));
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 496)));
	_mm_store_ps(SFIm + 496, _mm_sub_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 496)));
	_mm_store_ps(SFRe + 480, mR);
	_mm_store_ps(SFIm + 480, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 484), _mm_load_ps(SFRe + 500));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 484), _mm_load_ps(SFIm + 500));
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFRe + 484), _mm_load_ps(SFRe + 500)));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(_mm_load_ps(SFIm + 484), _mm_load_ps(SFIm + 500)));
	_mm_store_ps(SFRe + 484, mR);
	_mm_store_ps(SFIm + 484, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 488), _mm_load_ps(SFRe + 504));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 488), _mm_load_ps(SFIm + 504));
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_load_ps(SFRe + 488), _mm_load_ps(SFRe + 504)));
	_mm_store_ps(SFIm + 504, _mm_sub_ps(_mm_load_ps(SFIm + 488), _mm_load_ps(SFIm + 504)));
	_mm_store_ps(SFRe + 488, mR);
	_mm_store_ps(SFIm + 488, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 492), _mm_load_ps(SFRe + 508));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 492), _mm_load_ps(SFIm + 508));
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFRe + 492), _mm_load_ps(SFRe + 508)));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(_mm_load_ps(SFIm + 492), _mm_load_ps(SFIm + 508)));
	_mm_store_ps(SFRe + 492, mR);
	_mm_store_ps(SFIm + 492, mI);
	R = SFRe[478] + SFRe[479];
	I = SFIm[478] + SFIm[479];
	SFRe[479] = SFRe[478] - SFRe[479];
	SFIm[479] = SFIm[478] - SFIm[479];
	SFRe[478] = R;
	SFIm[478] = I;
	R = SFRe[476] + SFRe[477];
	I = SFIm[476] + SFIm[477];
	SFRe[477] = SFRe[476] - SFRe[477];
	SFIm[477] = SFIm[476] - SFIm[477];
	SFRe[476] = R;
	SFIm[476] = I;
	Re0 = SFRe[472]; Im0 = SFIm[472];
	Re1 = SFRe[473]; Im1 = SFIm[473];
	Re2 = SFRe[474]; Im2 = SFIm[474];
	Re3 = SFRe[475]; Im3 = SFIm[475];
	SFRe[472] = Re0 + Re1; SFIm[472] = Im0 + Im1;
	SFRe[473] = Re0 - Re1; SFIm[473] = Im0 - Im1;
	SFRe[474] = Re2 + Re3; SFIm[474] = Im2 + Im3;
	SFRe[475] = Im2 - Im3; SFIm[475] = Re3 - Re2;
	RA = SFRe[472] + SFRe[474];
	IA = SFIm[472] + SFIm[474];
	SFRe[474] = SFRe[472] - SFRe[474];
	SFIm[474] = SFIm[472] - SFIm[474];
	SFRe[472] = RA;
	SFIm[472] = IA;
	RA = SFRe[473] + SFRe[475];
	IA = SFIm[473] + SFIm[475];
	SFRe[475] = SFRe[473] - SFRe[475];
	SFIm[475] = SFIm[473] - SFIm[475];
	SFRe[473] = RA;
	SFIm[473] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[476];
	I = SFIm[476];
	SFRe[476] = R * RF1 - I * IF1;
	SFIm[476] = R * IF1 + I * RF1;
	R = SFRe[478];
	I = SFIm[478];
	SFRe[478] = R * RF2 - I * IF2;
	SFIm[478] = R * IF2 + I * RF2;
	R = SFRe[478];
	I = SFIm[478];
	SFRe[478] = SFIm[476] - I;
	SFIm[478] = R - SFRe[476];
	SFRe[476] += R;
	SFIm[476] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[477];
	I = SFIm[477];
	SFRe[477] = R * RF1 - I * IF1;
	SFIm[477] = R * IF1 + I * RF1;
	R = SFRe[479];
	I = SFIm[479];
	SFRe[479] = R * RF2 - I * IF2;
	SFIm[479] = R * IF2 + I * RF2;
	R = SFRe[479];
	I = SFIm[479];
	SFRe[479] = SFIm[477] - I;
	SFIm[479] = R - SFRe[477];
	SFRe[477] += R;
	SFIm[477] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 472), _mm_load_ps(SFRe + 476));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 472), _mm_load_ps(SFIm + 476));
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFRe + 472), _mm_load_ps(SFRe + 476)));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(_mm_load_ps(SFIm + 472), _mm_load_ps(SFIm + 476)));
	_mm_store_ps(SFRe + 472, mR);
	_mm_store_ps(SFIm + 472, mI);
	R = SFRe[470] + SFRe[471];
	I = SFIm[470] + SFIm[471];
	SFRe[471] = SFRe[470] - SFRe[471];
	SFIm[471] = SFIm[470] - SFIm[471];
	SFRe[470] = R;
	SFIm[470] = I;
	R = SFRe[468] + SFRe[469];
	I = SFIm[468] + SFIm[469];
	SFRe[469] = SFRe[468] - SFRe[469];
	SFIm[469] = SFIm[468] - SFIm[469];
	SFRe[468] = R;
	SFIm[468] = I;
	Re0 = SFRe[464]; Im0 = SFIm[464];
	Re1 = SFRe[465]; Im1 = SFIm[465];
	Re2 = SFRe[466]; Im2 = SFIm[466];
	Re3 = SFRe[467]; Im3 = SFIm[467];
	SFRe[464] = Re0 + Re1; SFIm[464] = Im0 + Im1;
	SFRe[465] = Re0 - Re1; SFIm[465] = Im0 - Im1;
	SFRe[466] = Re2 + Re3; SFIm[466] = Im2 + Im3;
	SFRe[467] = Im2 - Im3; SFIm[467] = Re3 - Re2;
	RA = SFRe[464] + SFRe[466];
	IA = SFIm[464] + SFIm[466];
	SFRe[466] = SFRe[464] - SFRe[466];
	SFIm[466] = SFIm[464] - SFIm[466];
	SFRe[464] = RA;
	SFIm[464] = IA;
	RA = SFRe[465] + SFRe[467];
	IA = SFIm[465] + SFIm[467];
	SFRe[467] = SFRe[465] - SFRe[467];
	SFIm[467] = SFIm[465] - SFIm[467];
	SFRe[465] = RA;
	SFIm[465] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[468];
	I = SFIm[468];
	SFRe[468] = R * RF1 - I * IF1;
	SFIm[468] = R * IF1 + I * RF1;
	R = SFRe[470];
	I = SFIm[470];
	SFRe[470] = R * RF2 - I * IF2;
	SFIm[470] = R * IF2 + I * RF2;
	R = SFRe[470];
	I = SFIm[470];
	SFRe[470] = SFIm[468] - I;
	SFIm[470] = R - SFRe[468];
	SFRe[468] += R;
	SFIm[468] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[469];
	I = SFIm[469];
	SFRe[469] = R * RF1 - I * IF1;
	SFIm[469] = R * IF1 + I * RF1;
	R = SFRe[471];
	I = SFIm[471];
	SFRe[471] = R * RF2 - I * IF2;
	SFIm[471] = R * IF2 + I * RF2;
	R = SFRe[471];
	I = SFIm[471];
	SFRe[471] = SFIm[469] - I;
	SFIm[471] = R - SFRe[469];
	SFRe[469] += R;
	SFIm[469] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 464), _mm_load_ps(SFRe + 468));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 464), _mm_load_ps(SFIm + 468));
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_load_ps(SFRe + 464), _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFIm + 468, _mm_sub_ps(_mm_load_ps(SFIm + 464), _mm_load_ps(SFIm + 468)));
	_mm_store_ps(SFRe + 464, mR);
	_mm_store_ps(SFIm + 464, mI);
	Re0 = SFRe[460]; Im0 = SFIm[460];
	Re1 = SFRe[461]; Im1 = SFIm[461];
	Re2 = SFRe[462]; Im2 = SFIm[462];
	Re3 = SFRe[463]; Im3 = SFIm[463];
	SFRe[460] = Re0 + Re1; SFIm[460] = Im0 + Im1;
	SFRe[461] = Re0 - Re1; SFIm[461] = Im0 - Im1;
	SFRe[462] = Re2 + Re3; SFIm[462] = Im2 + Im3;
	SFRe[463] = Im2 - Im3; SFIm[463] = Re3 - Re2;
	RA = SFRe[460] + SFRe[462];
	IA = SFIm[460] + SFIm[462];
	SFRe[462] = SFRe[460] - SFRe[462];
	SFIm[462] = SFIm[460] - SFIm[462];
	SFRe[460] = RA;
	SFIm[460] = IA;
	RA = SFRe[461] + SFRe[463];
	IA = SFIm[461] + SFIm[463];
	SFRe[463] = SFRe[461] - SFRe[463];
	SFIm[463] = SFIm[461] - SFIm[463];
	SFRe[461] = RA;
	SFIm[461] = IA;
	Re0 = SFRe[456]; Im0 = SFIm[456];
	Re1 = SFRe[457]; Im1 = SFIm[457];
	Re2 = SFRe[458]; Im2 = SFIm[458];
	Re3 = SFRe[459]; Im3 = SFIm[459];
	SFRe[456] = Re0 + Re1; SFIm[456] = Im0 + Im1;
	SFRe[457] = Re0 - Re1; SFIm[457] = Im0 - Im1;
	SFRe[458] = Re2 + Re3; SFIm[458] = Im2 + Im3;
	SFRe[459] = Im2 - Im3; SFIm[459] = Re3 - Re2;
	RA = SFRe[456] + SFRe[458];
	IA = SFIm[456] + SFIm[458];
	SFRe[458] = SFRe[456] - SFRe[458];
	SFIm[458] = SFIm[456] - SFIm[458];
	SFRe[456] = RA;
	SFIm[456] = IA;
	RA = SFRe[457] + SFRe[459];
	IA = SFIm[457] + SFIm[459];
	SFRe[459] = SFRe[457] - SFRe[459];
	SFIm[459] = SFIm[457] - SFIm[459];
	SFRe[457] = RA;
	SFIm[457] = IA;
	R = SFRe[454] + SFRe[455];
	I = SFIm[454] + SFIm[455];
	SFRe[455] = SFRe[454] - SFRe[455];
	SFIm[455] = SFIm[454] - SFIm[455];
	SFRe[454] = R;
	SFIm[454] = I;
	R = SFRe[452] + SFRe[453];
	I = SFIm[452] + SFIm[453];
	SFRe[453] = SFRe[452] - SFRe[453];
	SFIm[453] = SFIm[452] - SFIm[453];
	SFRe[452] = R;
	SFIm[452] = I;
	Re0 = SFRe[448]; Im0 = SFIm[448];
	Re1 = SFRe[449]; Im1 = SFIm[449];
	Re2 = SFRe[450]; Im2 = SFIm[450];
	Re3 = SFRe[451]; Im3 = SFIm[451];
	SFRe[448] = Re0 + Re1; SFIm[448] = Im0 + Im1;
	SFRe[449] = Re0 - Re1; SFIm[449] = Im0 - Im1;
	SFRe[450] = Re2 + Re3; SFIm[450] = Im2 + Im3;
	SFRe[451] = Im2 - Im3; SFIm[451] = Re3 - Re2;
	RA = SFRe[448] + SFRe[450];
	IA = SFIm[448] + SFIm[450];
	SFRe[450] = SFRe[448] - SFRe[450];
	SFIm[450] = SFIm[448] - SFIm[450];
	SFRe[448] = RA;
	SFIm[448] = IA;
	RA = SFRe[449] + SFRe[451];
	IA = SFIm[449] + SFIm[451];
	SFRe[451] = SFRe[449] - SFRe[451];
	SFIm[451] = SFIm[449] - SFIm[451];
	SFRe[449] = RA;
	SFIm[449] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[452];
	I = SFIm[452];
	SFRe[452] = R * RF1 - I * IF1;
	SFIm[452] = R * IF1 + I * RF1;
	R = SFRe[454];
	I = SFIm[454];
	SFRe[454] = R * RF2 - I * IF2;
	SFIm[454] = R * IF2 + I * RF2;
	R = SFRe[454];
	I = SFIm[454];
	SFRe[454] = SFIm[452] - I;
	SFIm[454] = R - SFRe[452];
	SFRe[452] += R;
	SFIm[452] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[453];
	I = SFIm[453];
	SFRe[453] = R * RF1 - I * IF1;
	SFIm[453] = R * IF1 + I * RF1;
	R = SFRe[455];
	I = SFIm[455];
	SFRe[455] = R * RF2 - I * IF2;
	SFIm[455] = R * IF2 + I * RF2;
	R = SFRe[455];
	I = SFIm[455];
	SFRe[455] = SFIm[453] - I;
	SFIm[455] = R - SFRe[453];
	SFRe[453] += R;
	SFIm[453] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 452));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 452));
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 452)));
	_mm_store_ps(SFIm + 452, _mm_sub_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 452)));
	_mm_store_ps(SFRe + 448, mR);
	_mm_store_ps(SFIm + 448, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 456);
	mI = _mm_load_ps(SFIm + 456);
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 460, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_load_ps(SFIm + 456), mI));
	_mm_store_ps(SFIm + 460, _mm_sub_ps(mR, _mm_load_ps(SFRe + 456)));
	_mm_store_ps(SFRe + 456, _mm_add_ps(_mm_load_ps(SFRe + 456), mR));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_load_ps(SFIm + 456), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 456));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 456));
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 456)));
	_mm_store_ps(SFIm + 456, _mm_sub_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 456)));
	_mm_store_ps(SFRe + 448, mR);
	_mm_store_ps(SFIm + 448, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 452), _mm_load_ps(SFRe + 460));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 452), _mm_load_ps(SFIm + 460));
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_load_ps(SFRe + 452), _mm_load_ps(SFRe + 460)));
	_mm_store_ps(SFIm + 460, _mm_sub_ps(_mm_load_ps(SFIm + 452), _mm_load_ps(SFIm + 460)));
	_mm_store_ps(SFRe + 452, mR);
	_mm_store_ps(SFIm + 452, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 464);
	mI = _mm_load_ps(SFIm + 464);
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 464, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 472);
	mI = _mm_load_ps(SFIm + 472);
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 472, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 472);
	mI = _mm_load_ps(SFIm + 472);
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_load_ps(SFIm + 464), mI));
	_mm_store_ps(SFIm + 472, _mm_sub_ps(mR, _mm_load_ps(SFRe + 464)));
	_mm_store_ps(SFRe + 464, _mm_add_ps(_mm_load_ps(SFRe + 464), mR));
	_mm_store_ps(SFIm + 464, _mm_add_ps(_mm_load_ps(SFIm + 464), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 468);
	mI = _mm_load_ps(SFIm + 468);
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 468, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 476);
	mI = _mm_load_ps(SFIm + 476);
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 476, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 476);
	mI = _mm_load_ps(SFIm + 476);
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFIm + 468), mI));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(mR, _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFRe + 468, _mm_add_ps(_mm_load_ps(SFRe + 468), mR));
	_mm_store_ps(SFIm + 468, _mm_add_ps(_mm_load_ps(SFIm + 468), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 464));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 464));
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 464)));
	_mm_store_ps(SFIm + 464, _mm_sub_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 464)));
	_mm_store_ps(SFRe + 448, mR);
	_mm_store_ps(SFIm + 448, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 452), _mm_load_ps(SFRe + 468));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 452), _mm_load_ps(SFIm + 468));
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_load_ps(SFRe + 452), _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFIm + 468, _mm_sub_ps(_mm_load_ps(SFIm + 452), _mm_load_ps(SFIm + 468)));
	_mm_store_ps(SFRe + 452, mR);
	_mm_store_ps(SFIm + 452, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 456), _mm_load_ps(SFRe + 472));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 456), _mm_load_ps(SFIm + 472));
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_load_ps(SFRe + 456), _mm_load_ps(SFRe + 472)));
	_mm_store_ps(SFIm + 472, _mm_sub_ps(_mm_load_ps(SFIm + 456), _mm_load_ps(SFIm + 472)));
	_mm_store_ps(SFRe + 456, mR);
	_mm_store_ps(SFIm + 456, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 460), _mm_load_ps(SFRe + 476));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 460), _mm_load_ps(SFIm + 476));
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFRe + 460), _mm_load_ps(SFRe + 476)));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(_mm_load_ps(SFIm + 460), _mm_load_ps(SFIm + 476)));
	_mm_store_ps(SFRe + 460, mR);
	_mm_store_ps(SFIm + 460, mI);
	Re0 = SFRe[444]; Im0 = SFIm[444];
	Re1 = SFRe[445]; Im1 = SFIm[445];
	Re2 = SFRe[446]; Im2 = SFIm[446];
	Re3 = SFRe[447]; Im3 = SFIm[447];
	SFRe[444] = Re0 + Re1; SFIm[444] = Im0 + Im1;
	SFRe[445] = Re0 - Re1; SFIm[445] = Im0 - Im1;
	SFRe[446] = Re2 + Re3; SFIm[446] = Im2 + Im3;
	SFRe[447] = Im2 - Im3; SFIm[447] = Re3 - Re2;
	RA = SFRe[444] + SFRe[446];
	IA = SFIm[444] + SFIm[446];
	SFRe[446] = SFRe[444] - SFRe[446];
	SFIm[446] = SFIm[444] - SFIm[446];
	SFRe[444] = RA;
	SFIm[444] = IA;
	RA = SFRe[445] + SFRe[447];
	IA = SFIm[445] + SFIm[447];
	SFRe[447] = SFRe[445] - SFRe[447];
	SFIm[447] = SFIm[445] - SFIm[447];
	SFRe[445] = RA;
	SFIm[445] = IA;
	Re0 = SFRe[440]; Im0 = SFIm[440];
	Re1 = SFRe[441]; Im1 = SFIm[441];
	Re2 = SFRe[442]; Im2 = SFIm[442];
	Re3 = SFRe[443]; Im3 = SFIm[443];
	SFRe[440] = Re0 + Re1; SFIm[440] = Im0 + Im1;
	SFRe[441] = Re0 - Re1; SFIm[441] = Im0 - Im1;
	SFRe[442] = Re2 + Re3; SFIm[442] = Im2 + Im3;
	SFRe[443] = Im2 - Im3; SFIm[443] = Re3 - Re2;
	RA = SFRe[440] + SFRe[442];
	IA = SFIm[440] + SFIm[442];
	SFRe[442] = SFRe[440] - SFRe[442];
	SFIm[442] = SFIm[440] - SFIm[442];
	SFRe[440] = RA;
	SFIm[440] = IA;
	RA = SFRe[441] + SFRe[443];
	IA = SFIm[441] + SFIm[443];
	SFRe[443] = SFRe[441] - SFRe[443];
	SFIm[443] = SFIm[441] - SFIm[443];
	SFRe[441] = RA;
	SFIm[441] = IA;
	R = SFRe[438] + SFRe[439];
	I = SFIm[438] + SFIm[439];
	SFRe[439] = SFRe[438] - SFRe[439];
	SFIm[439] = SFIm[438] - SFIm[439];
	SFRe[438] = R;
	SFIm[438] = I;
	R = SFRe[436] + SFRe[437];
	I = SFIm[436] + SFIm[437];
	SFRe[437] = SFRe[436] - SFRe[437];
	SFIm[437] = SFIm[436] - SFIm[437];
	SFRe[436] = R;
	SFIm[436] = I;
	Re0 = SFRe[432]; Im0 = SFIm[432];
	Re1 = SFRe[433]; Im1 = SFIm[433];
	Re2 = SFRe[434]; Im2 = SFIm[434];
	Re3 = SFRe[435]; Im3 = SFIm[435];
	SFRe[432] = Re0 + Re1; SFIm[432] = Im0 + Im1;
	SFRe[433] = Re0 - Re1; SFIm[433] = Im0 - Im1;
	SFRe[434] = Re2 + Re3; SFIm[434] = Im2 + Im3;
	SFRe[435] = Im2 - Im3; SFIm[435] = Re3 - Re2;
	RA = SFRe[432] + SFRe[434];
	IA = SFIm[432] + SFIm[434];
	SFRe[434] = SFRe[432] - SFRe[434];
	SFIm[434] = SFIm[432] - SFIm[434];
	SFRe[432] = RA;
	SFIm[432] = IA;
	RA = SFRe[433] + SFRe[435];
	IA = SFIm[433] + SFIm[435];
	SFRe[435] = SFRe[433] - SFRe[435];
	SFIm[435] = SFIm[433] - SFIm[435];
	SFRe[433] = RA;
	SFIm[433] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[436];
	I = SFIm[436];
	SFRe[436] = R * RF1 - I * IF1;
	SFIm[436] = R * IF1 + I * RF1;
	R = SFRe[438];
	I = SFIm[438];
	SFRe[438] = R * RF2 - I * IF2;
	SFIm[438] = R * IF2 + I * RF2;
	R = SFRe[438];
	I = SFIm[438];
	SFRe[438] = SFIm[436] - I;
	SFIm[438] = R - SFRe[436];
	SFRe[436] += R;
	SFIm[436] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[437];
	I = SFIm[437];
	SFRe[437] = R * RF1 - I * IF1;
	SFIm[437] = R * IF1 + I * RF1;
	R = SFRe[439];
	I = SFIm[439];
	SFRe[439] = R * RF2 - I * IF2;
	SFIm[439] = R * IF2 + I * RF2;
	R = SFRe[439];
	I = SFIm[439];
	SFRe[439] = SFIm[437] - I;
	SFIm[439] = R - SFRe[437];
	SFRe[437] += R;
	SFIm[437] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 436));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 436));
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 436)));
	_mm_store_ps(SFIm + 436, _mm_sub_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 436)));
	_mm_store_ps(SFRe + 432, mR);
	_mm_store_ps(SFIm + 432, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 440);
	mI = _mm_load_ps(SFIm + 440);
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 440, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 444, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFIm + 440), mI));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(mR, _mm_load_ps(SFRe + 440)));
	_mm_store_ps(SFRe + 440, _mm_add_ps(_mm_load_ps(SFRe + 440), mR));
	_mm_store_ps(SFIm + 440, _mm_add_ps(_mm_load_ps(SFIm + 440), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 440));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 440));
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 440)));
	_mm_store_ps(SFIm + 440, _mm_sub_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 440)));
	_mm_store_ps(SFRe + 432, mR);
	_mm_store_ps(SFIm + 432, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 436), _mm_load_ps(SFRe + 444));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 436), _mm_load_ps(SFIm + 444));
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFRe + 436), _mm_load_ps(SFRe + 444)));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(_mm_load_ps(SFIm + 436), _mm_load_ps(SFIm + 444)));
	_mm_store_ps(SFRe + 436, mR);
	_mm_store_ps(SFIm + 436, mI);
	Re0 = SFRe[428]; Im0 = SFIm[428];
	Re1 = SFRe[429]; Im1 = SFIm[429];
	Re2 = SFRe[430]; Im2 = SFIm[430];
	Re3 = SFRe[431]; Im3 = SFIm[431];
	SFRe[428] = Re0 + Re1; SFIm[428] = Im0 + Im1;
	SFRe[429] = Re0 - Re1; SFIm[429] = Im0 - Im1;
	SFRe[430] = Re2 + Re3; SFIm[430] = Im2 + Im3;
	SFRe[431] = Im2 - Im3; SFIm[431] = Re3 - Re2;
	RA = SFRe[428] + SFRe[430];
	IA = SFIm[428] + SFIm[430];
	SFRe[430] = SFRe[428] - SFRe[430];
	SFIm[430] = SFIm[428] - SFIm[430];
	SFRe[428] = RA;
	SFIm[428] = IA;
	RA = SFRe[429] + SFRe[431];
	IA = SFIm[429] + SFIm[431];
	SFRe[431] = SFRe[429] - SFRe[431];
	SFIm[431] = SFIm[429] - SFIm[431];
	SFRe[429] = RA;
	SFIm[429] = IA;
	Re0 = SFRe[424]; Im0 = SFIm[424];
	Re1 = SFRe[425]; Im1 = SFIm[425];
	Re2 = SFRe[426]; Im2 = SFIm[426];
	Re3 = SFRe[427]; Im3 = SFIm[427];
	SFRe[424] = Re0 + Re1; SFIm[424] = Im0 + Im1;
	SFRe[425] = Re0 - Re1; SFIm[425] = Im0 - Im1;
	SFRe[426] = Re2 + Re3; SFIm[426] = Im2 + Im3;
	SFRe[427] = Im2 - Im3; SFIm[427] = Re3 - Re2;
	RA = SFRe[424] + SFRe[426];
	IA = SFIm[424] + SFIm[426];
	SFRe[426] = SFRe[424] - SFRe[426];
	SFIm[426] = SFIm[424] - SFIm[426];
	SFRe[424] = RA;
	SFIm[424] = IA;
	RA = SFRe[425] + SFRe[427];
	IA = SFIm[425] + SFIm[427];
	SFRe[427] = SFRe[425] - SFRe[427];
	SFIm[427] = SFIm[425] - SFIm[427];
	SFRe[425] = RA;
	SFIm[425] = IA;
	R = SFRe[422] + SFRe[423];
	I = SFIm[422] + SFIm[423];
	SFRe[423] = SFRe[422] - SFRe[423];
	SFIm[423] = SFIm[422] - SFIm[423];
	SFRe[422] = R;
	SFIm[422] = I;
	R = SFRe[420] + SFRe[421];
	I = SFIm[420] + SFIm[421];
	SFRe[421] = SFRe[420] - SFRe[421];
	SFIm[421] = SFIm[420] - SFIm[421];
	SFRe[420] = R;
	SFIm[420] = I;
	Re0 = SFRe[416]; Im0 = SFIm[416];
	Re1 = SFRe[417]; Im1 = SFIm[417];
	Re2 = SFRe[418]; Im2 = SFIm[418];
	Re3 = SFRe[419]; Im3 = SFIm[419];
	SFRe[416] = Re0 + Re1; SFIm[416] = Im0 + Im1;
	SFRe[417] = Re0 - Re1; SFIm[417] = Im0 - Im1;
	SFRe[418] = Re2 + Re3; SFIm[418] = Im2 + Im3;
	SFRe[419] = Im2 - Im3; SFIm[419] = Re3 - Re2;
	RA = SFRe[416] + SFRe[418];
	IA = SFIm[416] + SFIm[418];
	SFRe[418] = SFRe[416] - SFRe[418];
	SFIm[418] = SFIm[416] - SFIm[418];
	SFRe[416] = RA;
	SFIm[416] = IA;
	RA = SFRe[417] + SFRe[419];
	IA = SFIm[417] + SFIm[419];
	SFRe[419] = SFRe[417] - SFRe[419];
	SFIm[419] = SFIm[417] - SFIm[419];
	SFRe[417] = RA;
	SFIm[417] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[420];
	I = SFIm[420];
	SFRe[420] = R * RF1 - I * IF1;
	SFIm[420] = R * IF1 + I * RF1;
	R = SFRe[422];
	I = SFIm[422];
	SFRe[422] = R * RF2 - I * IF2;
	SFIm[422] = R * IF2 + I * RF2;
	R = SFRe[422];
	I = SFIm[422];
	SFRe[422] = SFIm[420] - I;
	SFIm[422] = R - SFRe[420];
	SFRe[420] += R;
	SFIm[420] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[421];
	I = SFIm[421];
	SFRe[421] = R * RF1 - I * IF1;
	SFIm[421] = R * IF1 + I * RF1;
	R = SFRe[423];
	I = SFIm[423];
	SFRe[423] = R * RF2 - I * IF2;
	SFIm[423] = R * IF2 + I * RF2;
	R = SFRe[423];
	I = SFIm[423];
	SFRe[423] = SFIm[421] - I;
	SFIm[423] = R - SFRe[421];
	SFRe[421] += R;
	SFIm[421] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 420));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 420));
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 420)));
	_mm_store_ps(SFIm + 420, _mm_sub_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 420)));
	_mm_store_ps(SFRe + 416, mR);
	_mm_store_ps(SFIm + 416, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 424);
	mI = _mm_load_ps(SFIm + 424);
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 428, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_load_ps(SFIm + 424), mI));
	_mm_store_ps(SFIm + 428, _mm_sub_ps(mR, _mm_load_ps(SFRe + 424)));
	_mm_store_ps(SFRe + 424, _mm_add_ps(_mm_load_ps(SFRe + 424), mR));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_load_ps(SFIm + 424), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 424));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 424));
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 424)));
	_mm_store_ps(SFIm + 424, _mm_sub_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 424)));
	_mm_store_ps(SFRe + 416, mR);
	_mm_store_ps(SFIm + 416, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 420), _mm_load_ps(SFRe + 428));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 420), _mm_load_ps(SFIm + 428));
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_load_ps(SFRe + 420), _mm_load_ps(SFRe + 428)));
	_mm_store_ps(SFIm + 428, _mm_sub_ps(_mm_load_ps(SFIm + 420), _mm_load_ps(SFIm + 428)));
	_mm_store_ps(SFRe + 420, mR);
	_mm_store_ps(SFIm + 420, mI);
	R = SFRe[414] + SFRe[415];
	I = SFIm[414] + SFIm[415];
	SFRe[415] = SFRe[414] - SFRe[415];
	SFIm[415] = SFIm[414] - SFIm[415];
	SFRe[414] = R;
	SFIm[414] = I;
	R = SFRe[412] + SFRe[413];
	I = SFIm[412] + SFIm[413];
	SFRe[413] = SFRe[412] - SFRe[413];
	SFIm[413] = SFIm[412] - SFIm[413];
	SFRe[412] = R;
	SFIm[412] = I;
	Re0 = SFRe[408]; Im0 = SFIm[408];
	Re1 = SFRe[409]; Im1 = SFIm[409];
	Re2 = SFRe[410]; Im2 = SFIm[410];
	Re3 = SFRe[411]; Im3 = SFIm[411];
	SFRe[408] = Re0 + Re1; SFIm[408] = Im0 + Im1;
	SFRe[409] = Re0 - Re1; SFIm[409] = Im0 - Im1;
	SFRe[410] = Re2 + Re3; SFIm[410] = Im2 + Im3;
	SFRe[411] = Im2 - Im3; SFIm[411] = Re3 - Re2;
	RA = SFRe[408] + SFRe[410];
	IA = SFIm[408] + SFIm[410];
	SFRe[410] = SFRe[408] - SFRe[410];
	SFIm[410] = SFIm[408] - SFIm[410];
	SFRe[408] = RA;
	SFIm[408] = IA;
	RA = SFRe[409] + SFRe[411];
	IA = SFIm[409] + SFIm[411];
	SFRe[411] = SFRe[409] - SFRe[411];
	SFIm[411] = SFIm[409] - SFIm[411];
	SFRe[409] = RA;
	SFIm[409] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[412];
	I = SFIm[412];
	SFRe[412] = R * RF1 - I * IF1;
	SFIm[412] = R * IF1 + I * RF1;
	R = SFRe[414];
	I = SFIm[414];
	SFRe[414] = R * RF2 - I * IF2;
	SFIm[414] = R * IF2 + I * RF2;
	R = SFRe[414];
	I = SFIm[414];
	SFRe[414] = SFIm[412] - I;
	SFIm[414] = R - SFRe[412];
	SFRe[412] += R;
	SFIm[412] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[413];
	I = SFIm[413];
	SFRe[413] = R * RF1 - I * IF1;
	SFIm[413] = R * IF1 + I * RF1;
	R = SFRe[415];
	I = SFIm[415];
	SFRe[415] = R * RF2 - I * IF2;
	SFIm[415] = R * IF2 + I * RF2;
	R = SFRe[415];
	I = SFIm[415];
	SFRe[415] = SFIm[413] - I;
	SFIm[415] = R - SFRe[413];
	SFRe[413] += R;
	SFIm[413] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 412));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 412));
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 412)));
	_mm_store_ps(SFIm + 412, _mm_sub_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 412)));
	_mm_store_ps(SFRe + 408, mR);
	_mm_store_ps(SFIm + 408, mI);
	R = SFRe[406] + SFRe[407];
	I = SFIm[406] + SFIm[407];
	SFRe[407] = SFRe[406] - SFRe[407];
	SFIm[407] = SFIm[406] - SFIm[407];
	SFRe[406] = R;
	SFIm[406] = I;
	R = SFRe[404] + SFRe[405];
	I = SFIm[404] + SFIm[405];
	SFRe[405] = SFRe[404] - SFRe[405];
	SFIm[405] = SFIm[404] - SFIm[405];
	SFRe[404] = R;
	SFIm[404] = I;
	Re0 = SFRe[400]; Im0 = SFIm[400];
	Re1 = SFRe[401]; Im1 = SFIm[401];
	Re2 = SFRe[402]; Im2 = SFIm[402];
	Re3 = SFRe[403]; Im3 = SFIm[403];
	SFRe[400] = Re0 + Re1; SFIm[400] = Im0 + Im1;
	SFRe[401] = Re0 - Re1; SFIm[401] = Im0 - Im1;
	SFRe[402] = Re2 + Re3; SFIm[402] = Im2 + Im3;
	SFRe[403] = Im2 - Im3; SFIm[403] = Re3 - Re2;
	RA = SFRe[400] + SFRe[402];
	IA = SFIm[400] + SFIm[402];
	SFRe[402] = SFRe[400] - SFRe[402];
	SFIm[402] = SFIm[400] - SFIm[402];
	SFRe[400] = RA;
	SFIm[400] = IA;
	RA = SFRe[401] + SFRe[403];
	IA = SFIm[401] + SFIm[403];
	SFRe[403] = SFRe[401] - SFRe[403];
	SFIm[403] = SFIm[401] - SFIm[403];
	SFRe[401] = RA;
	SFIm[401] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[404];
	I = SFIm[404];
	SFRe[404] = R * RF1 - I * IF1;
	SFIm[404] = R * IF1 + I * RF1;
	R = SFRe[406];
	I = SFIm[406];
	SFRe[406] = R * RF2 - I * IF2;
	SFIm[406] = R * IF2 + I * RF2;
	R = SFRe[406];
	I = SFIm[406];
	SFRe[406] = SFIm[404] - I;
	SFIm[406] = R - SFRe[404];
	SFRe[404] += R;
	SFIm[404] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[405];
	I = SFIm[405];
	SFRe[405] = R * RF1 - I * IF1;
	SFIm[405] = R * IF1 + I * RF1;
	R = SFRe[407];
	I = SFIm[407];
	SFRe[407] = R * RF2 - I * IF2;
	SFIm[407] = R * IF2 + I * RF2;
	R = SFRe[407];
	I = SFIm[407];
	SFRe[407] = SFIm[405] - I;
	SFIm[407] = R - SFRe[405];
	SFRe[405] += R;
	SFIm[405] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 404));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 404));
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 404)));
	_mm_store_ps(SFIm + 404, _mm_sub_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 404)));
	_mm_store_ps(SFRe + 400, mR);
	_mm_store_ps(SFIm + 400, mI);
	Re0 = SFRe[396]; Im0 = SFIm[396];
	Re1 = SFRe[397]; Im1 = SFIm[397];
	Re2 = SFRe[398]; Im2 = SFIm[398];
	Re3 = SFRe[399]; Im3 = SFIm[399];
	SFRe[396] = Re0 + Re1; SFIm[396] = Im0 + Im1;
	SFRe[397] = Re0 - Re1; SFIm[397] = Im0 - Im1;
	SFRe[398] = Re2 + Re3; SFIm[398] = Im2 + Im3;
	SFRe[399] = Im2 - Im3; SFIm[399] = Re3 - Re2;
	RA = SFRe[396] + SFRe[398];
	IA = SFIm[396] + SFIm[398];
	SFRe[398] = SFRe[396] - SFRe[398];
	SFIm[398] = SFIm[396] - SFIm[398];
	SFRe[396] = RA;
	SFIm[396] = IA;
	RA = SFRe[397] + SFRe[399];
	IA = SFIm[397] + SFIm[399];
	SFRe[399] = SFRe[397] - SFRe[399];
	SFIm[399] = SFIm[397] - SFIm[399];
	SFRe[397] = RA;
	SFIm[397] = IA;
	Re0 = SFRe[392]; Im0 = SFIm[392];
	Re1 = SFRe[393]; Im1 = SFIm[393];
	Re2 = SFRe[394]; Im2 = SFIm[394];
	Re3 = SFRe[395]; Im3 = SFIm[395];
	SFRe[392] = Re0 + Re1; SFIm[392] = Im0 + Im1;
	SFRe[393] = Re0 - Re1; SFIm[393] = Im0 - Im1;
	SFRe[394] = Re2 + Re3; SFIm[394] = Im2 + Im3;
	SFRe[395] = Im2 - Im3; SFIm[395] = Re3 - Re2;
	RA = SFRe[392] + SFRe[394];
	IA = SFIm[392] + SFIm[394];
	SFRe[394] = SFRe[392] - SFRe[394];
	SFIm[394] = SFIm[392] - SFIm[394];
	SFRe[392] = RA;
	SFIm[392] = IA;
	RA = SFRe[393] + SFRe[395];
	IA = SFIm[393] + SFIm[395];
	SFRe[395] = SFRe[393] - SFRe[395];
	SFIm[395] = SFIm[393] - SFIm[395];
	SFRe[393] = RA;
	SFIm[393] = IA;
	R = SFRe[390] + SFRe[391];
	I = SFIm[390] + SFIm[391];
	SFRe[391] = SFRe[390] - SFRe[391];
	SFIm[391] = SFIm[390] - SFIm[391];
	SFRe[390] = R;
	SFIm[390] = I;
	R = SFRe[388] + SFRe[389];
	I = SFIm[388] + SFIm[389];
	SFRe[389] = SFRe[388] - SFRe[389];
	SFIm[389] = SFIm[388] - SFIm[389];
	SFRe[388] = R;
	SFIm[388] = I;
	Re0 = SFRe[384]; Im0 = SFIm[384];
	Re1 = SFRe[385]; Im1 = SFIm[385];
	Re2 = SFRe[386]; Im2 = SFIm[386];
	Re3 = SFRe[387]; Im3 = SFIm[387];
	SFRe[384] = Re0 + Re1; SFIm[384] = Im0 + Im1;
	SFRe[385] = Re0 - Re1; SFIm[385] = Im0 - Im1;
	SFRe[386] = Re2 + Re3; SFIm[386] = Im2 + Im3;
	SFRe[387] = Im2 - Im3; SFIm[387] = Re3 - Re2;
	RA = SFRe[384] + SFRe[386];
	IA = SFIm[384] + SFIm[386];
	SFRe[386] = SFRe[384] - SFRe[386];
	SFIm[386] = SFIm[384] - SFIm[386];
	SFRe[384] = RA;
	SFIm[384] = IA;
	RA = SFRe[385] + SFRe[387];
	IA = SFIm[385] + SFIm[387];
	SFRe[387] = SFRe[385] - SFRe[387];
	SFIm[387] = SFIm[385] - SFIm[387];
	SFRe[385] = RA;
	SFIm[385] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[388];
	I = SFIm[388];
	SFRe[388] = R * RF1 - I * IF1;
	SFIm[388] = R * IF1 + I * RF1;
	R = SFRe[390];
	I = SFIm[390];
	SFRe[390] = R * RF2 - I * IF2;
	SFIm[390] = R * IF2 + I * RF2;
	R = SFRe[390];
	I = SFIm[390];
	SFRe[390] = SFIm[388] - I;
	SFIm[390] = R - SFRe[388];
	SFRe[388] += R;
	SFIm[388] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[389];
	I = SFIm[389];
	SFRe[389] = R * RF1 - I * IF1;
	SFIm[389] = R * IF1 + I * RF1;
	R = SFRe[391];
	I = SFIm[391];
	SFRe[391] = R * RF2 - I * IF2;
	SFIm[391] = R * IF2 + I * RF2;
	R = SFRe[391];
	I = SFIm[391];
	SFRe[391] = SFIm[389] - I;
	SFIm[391] = R - SFRe[389];
	SFRe[389] += R;
	SFIm[389] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 388));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 388));
	_mm_store_ps(SFRe + 388, _mm_sub_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 388)));
	_mm_store_ps(SFIm + 388, _mm_sub_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 388)));
	_mm_store_ps(SFRe + 384, mR);
	_mm_store_ps(SFIm + 384, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 392);
	mI = _mm_load_ps(SFIm + 392);
	_mm_store_ps(SFRe + 392, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 392, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 396);
	mI = _mm_load_ps(SFIm + 396);
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 396, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 396);
	mI = _mm_load_ps(SFIm + 396);
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_load_ps(SFIm + 392), mI));
	_mm_store_ps(SFIm + 396, _mm_sub_ps(mR, _mm_load_ps(SFRe + 392)));
	_mm_store_ps(SFRe + 392, _mm_add_ps(_mm_load_ps(SFRe + 392), mR));
	_mm_store_ps(SFIm + 392, _mm_add_ps(_mm_load_ps(SFIm + 392), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 392));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 392));
	_mm_store_ps(SFRe + 392, _mm_sub_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 392)));
	_mm_store_ps(SFIm + 392, _mm_sub_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 392)));
	_mm_store_ps(SFRe + 384, mR);
	_mm_store_ps(SFIm + 384, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 396));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 396));
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 396)));
	_mm_store_ps(SFIm + 396, _mm_sub_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 396)));
	_mm_store_ps(SFRe + 388, mR);
	_mm_store_ps(SFIm + 388, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 400);
	mI = _mm_load_ps(SFIm + 400);
	_mm_store_ps(SFRe + 400, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 400, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 408);
	mI = _mm_load_ps(SFIm + 408);
	_mm_store_ps(SFRe + 408, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 408, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 408);
	mI = _mm_load_ps(SFIm + 408);
	_mm_store_ps(SFRe + 408, _mm_sub_ps(_mm_load_ps(SFIm + 400), mI));
	_mm_store_ps(SFIm + 408, _mm_sub_ps(mR, _mm_load_ps(SFRe + 400)));
	_mm_store_ps(SFRe + 400, _mm_add_ps(_mm_load_ps(SFRe + 400), mR));
	_mm_store_ps(SFIm + 400, _mm_add_ps(_mm_load_ps(SFIm + 400), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 404);
	mI = _mm_load_ps(SFIm + 404);
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 404, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 412);
	mI = _mm_load_ps(SFIm + 412);
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 412, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 412);
	mI = _mm_load_ps(SFIm + 412);
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_load_ps(SFIm + 404), mI));
	_mm_store_ps(SFIm + 412, _mm_sub_ps(mR, _mm_load_ps(SFRe + 404)));
	_mm_store_ps(SFRe + 404, _mm_add_ps(_mm_load_ps(SFRe + 404), mR));
	_mm_store_ps(SFIm + 404, _mm_add_ps(_mm_load_ps(SFIm + 404), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 400));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 400));
	_mm_store_ps(SFRe + 400, _mm_sub_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 400)));
	_mm_store_ps(SFIm + 400, _mm_sub_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 400)));
	_mm_store_ps(SFRe + 384, mR);
	_mm_store_ps(SFIm + 384, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 404));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 404));
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 404)));
	_mm_store_ps(SFIm + 404, _mm_sub_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 404)));
	_mm_store_ps(SFRe + 388, mR);
	_mm_store_ps(SFIm + 388, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 392), _mm_load_ps(SFRe + 408));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 392), _mm_load_ps(SFIm + 408));
	_mm_store_ps(SFRe + 408, _mm_sub_ps(_mm_load_ps(SFRe + 392), _mm_load_ps(SFRe + 408)));
	_mm_store_ps(SFIm + 408, _mm_sub_ps(_mm_load_ps(SFIm + 392), _mm_load_ps(SFIm + 408)));
	_mm_store_ps(SFRe + 392, mR);
	_mm_store_ps(SFIm + 392, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 396), _mm_load_ps(SFRe + 412));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 396), _mm_load_ps(SFIm + 412));
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_load_ps(SFRe + 396), _mm_load_ps(SFRe + 412)));
	_mm_store_ps(SFIm + 412, _mm_sub_ps(_mm_load_ps(SFIm + 396), _mm_load_ps(SFIm + 412)));
	_mm_store_ps(SFRe + 396, mR);
	_mm_store_ps(SFIm + 396, mI);
	mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
	mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
	mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
	mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
	mR = _mm_load_ps(SFRe + 416);
	mI = _mm_load_ps(SFIm + 416);
	_mm_store_ps(SFRe + 416, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 416, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 432);
	mI = _mm_load_ps(SFIm + 432);
	_mm_store_ps(SFRe + 432, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 432, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 432);
	mI = _mm_load_ps(SFIm + 432);
	_mm_store_ps(SFRe + 432, _mm_sub_ps(_mm_load_ps(SFIm + 416), mI));
	_mm_store_ps(SFIm + 432, _mm_sub_ps(mR, _mm_load_ps(SFRe + 416)));
	_mm_store_ps(SFRe + 416, _mm_add_ps(_mm_load_ps(SFRe + 416), mR));
	_mm_store_ps(SFIm + 416, _mm_add_ps(_mm_load_ps(SFIm + 416), mI));
	mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
	mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
	mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
	mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
	mR = _mm_load_ps(SFRe + 420);
	mI = _mm_load_ps(SFIm + 420);
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 420, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 436);
	mI = _mm_load_ps(SFIm + 436);
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 436, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 436);
	mI = _mm_load_ps(SFIm + 436);
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_load_ps(SFIm + 420), mI));
	_mm_store_ps(SFIm + 436, _mm_sub_ps(mR, _mm_load_ps(SFRe + 420)));
	_mm_store_ps(SFRe + 420, _mm_add_ps(_mm_load_ps(SFRe + 420), mR));
	_mm_store_ps(SFIm + 420, _mm_add_ps(_mm_load_ps(SFIm + 420), mI));
	mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
	mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
	mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
	mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
	mR = _mm_load_ps(SFRe + 424);
	mI = _mm_load_ps(SFIm + 424);
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 440);
	mI = _mm_load_ps(SFIm + 440);
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 440, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 440);
	mI = _mm_load_ps(SFIm + 440);
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_load_ps(SFIm + 424), mI));
	_mm_store_ps(SFIm + 440, _mm_sub_ps(mR, _mm_load_ps(SFRe + 424)));
	_mm_store_ps(SFRe + 424, _mm_add_ps(_mm_load_ps(SFRe + 424), mR));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_load_ps(SFIm + 424), mI));
	mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
	mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
	mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
	mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 428, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 444, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFIm + 428), mI));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(mR, _mm_load_ps(SFRe + 428)));
	_mm_store_ps(SFRe + 428, _mm_add_ps(_mm_load_ps(SFRe + 428), mR));
	_mm_store_ps(SFIm + 428, _mm_add_ps(_mm_load_ps(SFIm + 428), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 416));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 416));
	_mm_store_ps(SFRe + 416, _mm_sub_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 416)));
	_mm_store_ps(SFIm + 416, _mm_sub_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 416)));
	_mm_store_ps(SFRe + 384, mR);
	_mm_store_ps(SFIm + 384, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 420));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 420));
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 420)));
	_mm_store_ps(SFIm + 420, _mm_sub_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 420)));
	_mm_store_ps(SFRe + 388, mR);
	_mm_store_ps(SFIm + 388, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 392), _mm_load_ps(SFRe + 424));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 392), _mm_load_ps(SFIm + 424));
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_load_ps(SFRe + 392), _mm_load_ps(SFRe + 424)));
	_mm_store_ps(SFIm + 424, _mm_sub_ps(_mm_load_ps(SFIm + 392), _mm_load_ps(SFIm + 424)));
	_mm_store_ps(SFRe + 392, mR);
	_mm_store_ps(SFIm + 392, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 396), _mm_load_ps(SFRe + 428));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 396), _mm_load_ps(SFIm + 428));
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_load_ps(SFRe + 396), _mm_load_ps(SFRe + 428)));
	_mm_store_ps(SFIm + 428, _mm_sub_ps(_mm_load_ps(SFIm + 396), _mm_load_ps(SFIm + 428)));
	_mm_store_ps(SFRe + 396, mR);
	_mm_store_ps(SFIm + 396, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 432));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 432));
	_mm_store_ps(SFRe + 432, _mm_sub_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 432)));
	_mm_store_ps(SFIm + 432, _mm_sub_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 432)));
	_mm_store_ps(SFRe + 400, mR);
	_mm_store_ps(SFIm + 400, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 404), _mm_load_ps(SFRe + 436));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 404), _mm_load_ps(SFIm + 436));
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_load_ps(SFRe + 404), _mm_load_ps(SFRe + 436)));
	_mm_store_ps(SFIm + 436, _mm_sub_ps(_mm_load_ps(SFIm + 404), _mm_load_ps(SFIm + 436)));
	_mm_store_ps(SFRe + 404, mR);
	_mm_store_ps(SFIm + 404, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 440));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 440));
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 440)));
	_mm_store_ps(SFIm + 440, _mm_sub_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 440)));
	_mm_store_ps(SFRe + 408, mR);
	_mm_store_ps(SFIm + 408, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 412), _mm_load_ps(SFRe + 444));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 412), _mm_load_ps(SFIm + 444));
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFRe + 412), _mm_load_ps(SFRe + 444)));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(_mm_load_ps(SFIm + 412), _mm_load_ps(SFIm + 444)));
	_mm_store_ps(SFRe + 412, mR);
	_mm_store_ps(SFIm + 412, mI);
	mRF1 = _mm_set_ps(0.989178, 0.995187, 0.998797, 1.000000);
	mIF1 = _mm_set_ps(-0.146720, -0.097994, -0.049031, -0.000000);
	mRF2 = _mm_set_ps(0.904002, 0.956946, 0.989178, 1.000000);
	mIF2 = _mm_set_ps(-0.427528, -0.290265, -0.146720, -0.000000);
	mR = _mm_load_ps(SFRe + 448);
	mI = _mm_load_ps(SFIm + 448);
	_mm_store_ps(SFRe + 448, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 448, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 480);
	mI = _mm_load_ps(SFIm + 480);
	_mm_store_ps(SFRe + 480, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 480, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 480);
	mI = _mm_load_ps(SFIm + 480);
	_mm_store_ps(SFRe + 480, _mm_sub_ps(_mm_load_ps(SFIm + 448), mI));
	_mm_store_ps(SFIm + 480, _mm_sub_ps(mR, _mm_load_ps(SFRe + 448)));
	_mm_store_ps(SFRe + 448, _mm_add_ps(_mm_load_ps(SFRe + 448), mR));
	_mm_store_ps(SFIm + 448, _mm_add_ps(_mm_load_ps(SFIm + 448), mI));
	mRF1 = _mm_set_ps(0.941546, 0.956946, 0.970039, 0.980794);
	mIF1 = _mm_set_ps(-0.336883, -0.290265, -0.242948, -0.195044);
	mRF2 = _mm_set_ps(0.514121, 0.634402, 0.740952, 0.831492);
	mIF2 = _mm_set_ps(-0.857718, -0.773004, -0.671558, -0.555536);
	mR = _mm_load_ps(SFRe + 452);
	mI = _mm_load_ps(SFIm + 452);
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 452, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 484);
	mI = _mm_load_ps(SFIm + 484);
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 484, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 484);
	mI = _mm_load_ps(SFIm + 484);
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_load_ps(SFIm + 452), mI));
	_mm_store_ps(SFIm + 484, _mm_sub_ps(mR, _mm_load_ps(SFRe + 452)));
	_mm_store_ps(SFRe + 452, _mm_add_ps(_mm_load_ps(SFRe + 452), mR));
	_mm_store_ps(SFIm + 452, _mm_add_ps(_mm_load_ps(SFIm + 452), mI));
	mRF1 = _mm_set_ps(0.857731, 0.881929, 0.904002, 0.923896);
	mIF1 = _mm_set_ps(-0.514099, -0.471382, -0.427528, -0.382643);
	mRF2 = _mm_set_ps(-0.049056, 0.098019, 0.242972, 0.382712);
	mIF2 = _mm_set_ps(-0.998796, -0.995185, -0.970033, -0.923868);
	mR = _mm_load_ps(SFRe + 456);
	mI = _mm_load_ps(SFIm + 456);
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 488);
	mI = _mm_load_ps(SFIm + 488);
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 488, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 488);
	mI = _mm_load_ps(SFIm + 488);
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_load_ps(SFIm + 456), mI));
	_mm_store_ps(SFIm + 488, _mm_sub_ps(mR, _mm_load_ps(SFRe + 456)));
	_mm_store_ps(SFRe + 456, _mm_add_ps(_mm_load_ps(SFRe + 456), mR));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_load_ps(SFIm + 456), mI));
	mRF1 = _mm_set_ps(0.740952, 0.773019, 0.803224, 0.831492);
	mIF1 = _mm_set_ps(-0.671558, -0.634382, -0.595677, -0.555536);
	mRF2 = _mm_set_ps(-0.595697, -0.471404, -0.336907, -0.195069);
	mIF2 = _mm_set_ps(-0.803209, -0.881918, -0.941538, -0.980790);
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 460, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 492, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFIm + 460), mI));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(mR, _mm_load_ps(SFRe + 460)));
	_mm_store_ps(SFRe + 460, _mm_add_ps(_mm_load_ps(SFRe + 460), mR));
	_mm_store_ps(SFIm + 460, _mm_add_ps(_mm_load_ps(SFIm + 460), mI));
	mRF1 = _mm_set_ps(0.595697, 0.634402, 0.671577, 0.707133);
	mIF1 = _mm_set_ps(-0.803209, -0.773004, -0.740935, -0.707080);
	mRF2 = _mm_set_ps(-0.941546, -0.881929, -0.803224, -0.707098);
	mIF2 = _mm_set_ps(-0.336883, -0.471382, -0.595677, -0.707116);
	mR = _mm_load_ps(SFRe + 464);
	mI = _mm_load_ps(SFIm + 464);
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 464, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 496);
	mI = _mm_load_ps(SFIm + 496);
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 496, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 496);
	mI = _mm_load_ps(SFIm + 496);
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_load_ps(SFIm + 464), mI));
	_mm_store_ps(SFIm + 496, _mm_sub_ps(mR, _mm_load_ps(SFRe + 464)));
	_mm_store_ps(SFRe + 464, _mm_add_ps(_mm_load_ps(SFRe + 464), mR));
	_mm_store_ps(SFIm + 464, _mm_add_ps(_mm_load_ps(SFIm + 464), mI));
	mRF1 = _mm_set_ps(0.427550, 0.471404, 0.514121, 0.555599);
	mIF1 = _mm_set_ps(-0.903992, -0.881918, -0.857718, -0.831451);
	mRF2 = _mm_set_ps(-0.970039, -0.995187, -0.998797, -0.980785);
	mIF2 = _mm_set_ps(0.242948, 0.097994, -0.049031, -0.195093);
	mR = _mm_load_ps(SFRe + 468);
	mI = _mm_load_ps(SFIm + 468);
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 468, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 500);
	mI = _mm_load_ps(SFIm + 500);
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 500, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 500);
	mI = _mm_load_ps(SFIm + 500);
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFIm + 468), mI));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(mR, _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFRe + 468, _mm_add_ps(_mm_load_ps(SFRe + 468), mR));
	_mm_store_ps(SFIm + 468, _mm_add_ps(_mm_load_ps(SFIm + 468), mI));
	mRF1 = _mm_set_ps(0.242972, 0.290289, 0.336907, 0.382712);
	mIF1 = _mm_set_ps(-0.970033, -0.956939, -0.941538, -0.923868);
	mRF2 = _mm_set_ps(-0.671577, -0.773019, -0.857731, -0.923896);
	mIF2 = _mm_set_ps(0.740935, 0.634382, 0.514099, 0.382643);
	mR = _mm_load_ps(SFRe + 472);
	mI = _mm_load_ps(SFIm + 472);
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 472, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 504);
	mI = _mm_load_ps(SFIm + 504);
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 504, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 504);
	mI = _mm_load_ps(SFIm + 504);
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_load_ps(SFIm + 472), mI));
	_mm_store_ps(SFIm + 504, _mm_sub_ps(mR, _mm_load_ps(SFRe + 472)));
	_mm_store_ps(SFRe + 472, _mm_add_ps(_mm_load_ps(SFRe + 472), mR));
	_mm_store_ps(SFIm + 472, _mm_add_ps(_mm_load_ps(SFIm + 472), mI));
	mRF1 = _mm_set_ps(0.049056, 0.098019, 0.146745, 0.195118);
	mIF1 = _mm_set_ps(-0.998796, -0.995185, -0.989174, -0.980780);
	mRF2 = _mm_set_ps(-0.146745, -0.290289, -0.427550, -0.555599);
	mIF2 = _mm_set_ps(0.989174, 0.956939, 0.903992, 0.831451);
	mR = _mm_load_ps(SFRe + 476);
	mI = _mm_load_ps(SFIm + 476);
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 476, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 508);
	mI = _mm_load_ps(SFIm + 508);
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 508, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 508);
	mI = _mm_load_ps(SFIm + 508);
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFIm + 476), mI));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(mR, _mm_load_ps(SFRe + 476)));
	_mm_store_ps(SFRe + 476, _mm_add_ps(_mm_load_ps(SFRe + 476), mR));
	_mm_store_ps(SFIm + 476, _mm_add_ps(_mm_load_ps(SFIm + 476), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 448));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 448));
	_mm_store_ps(SFRe + 448, _mm_sub_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 448)));
	_mm_store_ps(SFIm + 448, _mm_sub_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 448)));
	_mm_store_ps(SFRe + 384, mR);
	_mm_store_ps(SFIm + 384, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 452));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 452));
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_load_ps(SFRe + 388), _mm_load_ps(SFRe + 452)));
	_mm_store_ps(SFIm + 452, _mm_sub_ps(_mm_load_ps(SFIm + 388), _mm_load_ps(SFIm + 452)));
	_mm_store_ps(SFRe + 388, mR);
	_mm_store_ps(SFIm + 388, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 392), _mm_load_ps(SFRe + 456));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 392), _mm_load_ps(SFIm + 456));
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_load_ps(SFRe + 392), _mm_load_ps(SFRe + 456)));
	_mm_store_ps(SFIm + 456, _mm_sub_ps(_mm_load_ps(SFIm + 392), _mm_load_ps(SFIm + 456)));
	_mm_store_ps(SFRe + 392, mR);
	_mm_store_ps(SFIm + 392, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 396), _mm_load_ps(SFRe + 460));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 396), _mm_load_ps(SFIm + 460));
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_load_ps(SFRe + 396), _mm_load_ps(SFRe + 460)));
	_mm_store_ps(SFIm + 460, _mm_sub_ps(_mm_load_ps(SFIm + 396), _mm_load_ps(SFIm + 460)));
	_mm_store_ps(SFRe + 396, mR);
	_mm_store_ps(SFIm + 396, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 464));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 464));
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 464)));
	_mm_store_ps(SFIm + 464, _mm_sub_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 464)));
	_mm_store_ps(SFRe + 400, mR);
	_mm_store_ps(SFIm + 400, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 404), _mm_load_ps(SFRe + 468));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 404), _mm_load_ps(SFIm + 468));
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_load_ps(SFRe + 404), _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFIm + 468, _mm_sub_ps(_mm_load_ps(SFIm + 404), _mm_load_ps(SFIm + 468)));
	_mm_store_ps(SFRe + 404, mR);
	_mm_store_ps(SFIm + 404, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 472));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 472));
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 472)));
	_mm_store_ps(SFIm + 472, _mm_sub_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 472)));
	_mm_store_ps(SFRe + 408, mR);
	_mm_store_ps(SFIm + 408, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 412), _mm_load_ps(SFRe + 476));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 412), _mm_load_ps(SFIm + 476));
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFRe + 412), _mm_load_ps(SFRe + 476)));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(_mm_load_ps(SFIm + 412), _mm_load_ps(SFIm + 476)));
	_mm_store_ps(SFRe + 412, mR);
	_mm_store_ps(SFIm + 412, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 480));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 480));
	_mm_store_ps(SFRe + 480, _mm_sub_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 480)));
	_mm_store_ps(SFIm + 480, _mm_sub_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 480)));
	_mm_store_ps(SFRe + 416, mR);
	_mm_store_ps(SFIm + 416, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 420), _mm_load_ps(SFRe + 484));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 420), _mm_load_ps(SFIm + 484));
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_load_ps(SFRe + 420), _mm_load_ps(SFRe + 484)));
	_mm_store_ps(SFIm + 484, _mm_sub_ps(_mm_load_ps(SFIm + 420), _mm_load_ps(SFIm + 484)));
	_mm_store_ps(SFRe + 420, mR);
	_mm_store_ps(SFIm + 420, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 424), _mm_load_ps(SFRe + 488));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 424), _mm_load_ps(SFIm + 488));
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_load_ps(SFRe + 424), _mm_load_ps(SFRe + 488)));
	_mm_store_ps(SFIm + 488, _mm_sub_ps(_mm_load_ps(SFIm + 424), _mm_load_ps(SFIm + 488)));
	_mm_store_ps(SFRe + 424, mR);
	_mm_store_ps(SFIm + 424, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 428), _mm_load_ps(SFRe + 492));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 428), _mm_load_ps(SFIm + 492));
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFRe + 428), _mm_load_ps(SFRe + 492)));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(_mm_load_ps(SFIm + 428), _mm_load_ps(SFIm + 492)));
	_mm_store_ps(SFRe + 428, mR);
	_mm_store_ps(SFIm + 428, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 496));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 496));
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 496)));
	_mm_store_ps(SFIm + 496, _mm_sub_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 496)));
	_mm_store_ps(SFRe + 432, mR);
	_mm_store_ps(SFIm + 432, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 436), _mm_load_ps(SFRe + 500));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 436), _mm_load_ps(SFIm + 500));
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFRe + 436), _mm_load_ps(SFRe + 500)));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(_mm_load_ps(SFIm + 436), _mm_load_ps(SFIm + 500)));
	_mm_store_ps(SFRe + 436, mR);
	_mm_store_ps(SFIm + 436, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 440), _mm_load_ps(SFRe + 504));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 440), _mm_load_ps(SFIm + 504));
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_load_ps(SFRe + 440), _mm_load_ps(SFRe + 504)));
	_mm_store_ps(SFIm + 504, _mm_sub_ps(_mm_load_ps(SFIm + 440), _mm_load_ps(SFIm + 504)));
	_mm_store_ps(SFRe + 440, mR);
	_mm_store_ps(SFIm + 440, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 444), _mm_load_ps(SFRe + 508));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 444), _mm_load_ps(SFIm + 508));
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFRe + 444), _mm_load_ps(SFRe + 508)));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(_mm_load_ps(SFIm + 444), _mm_load_ps(SFIm + 508)));
	_mm_store_ps(SFRe + 444, mR);
	_mm_store_ps(SFIm + 444, mI);
	R = SFRe[382] + SFRe[383];
	I = SFIm[382] + SFIm[383];
	SFRe[383] = SFRe[382] - SFRe[383];
	SFIm[383] = SFIm[382] - SFIm[383];
	SFRe[382] = R;
	SFIm[382] = I;
	R = SFRe[380] + SFRe[381];
	I = SFIm[380] + SFIm[381];
	SFRe[381] = SFRe[380] - SFRe[381];
	SFIm[381] = SFIm[380] - SFIm[381];
	SFRe[380] = R;
	SFIm[380] = I;
	Re0 = SFRe[376]; Im0 = SFIm[376];
	Re1 = SFRe[377]; Im1 = SFIm[377];
	Re2 = SFRe[378]; Im2 = SFIm[378];
	Re3 = SFRe[379]; Im3 = SFIm[379];
	SFRe[376] = Re0 + Re1; SFIm[376] = Im0 + Im1;
	SFRe[377] = Re0 - Re1; SFIm[377] = Im0 - Im1;
	SFRe[378] = Re2 + Re3; SFIm[378] = Im2 + Im3;
	SFRe[379] = Im2 - Im3; SFIm[379] = Re3 - Re2;
	RA = SFRe[376] + SFRe[378];
	IA = SFIm[376] + SFIm[378];
	SFRe[378] = SFRe[376] - SFRe[378];
	SFIm[378] = SFIm[376] - SFIm[378];
	SFRe[376] = RA;
	SFIm[376] = IA;
	RA = SFRe[377] + SFRe[379];
	IA = SFIm[377] + SFIm[379];
	SFRe[379] = SFRe[377] - SFRe[379];
	SFIm[379] = SFIm[377] - SFIm[379];
	SFRe[377] = RA;
	SFIm[377] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[380];
	I = SFIm[380];
	SFRe[380] = R * RF1 - I * IF1;
	SFIm[380] = R * IF1 + I * RF1;
	R = SFRe[382];
	I = SFIm[382];
	SFRe[382] = R * RF2 - I * IF2;
	SFIm[382] = R * IF2 + I * RF2;
	R = SFRe[382];
	I = SFIm[382];
	SFRe[382] = SFIm[380] - I;
	SFIm[382] = R - SFRe[380];
	SFRe[380] += R;
	SFIm[380] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[381];
	I = SFIm[381];
	SFRe[381] = R * RF1 - I * IF1;
	SFIm[381] = R * IF1 + I * RF1;
	R = SFRe[383];
	I = SFIm[383];
	SFRe[383] = R * RF2 - I * IF2;
	SFIm[383] = R * IF2 + I * RF2;
	R = SFRe[383];
	I = SFIm[383];
	SFRe[383] = SFIm[381] - I;
	SFIm[383] = R - SFRe[381];
	SFRe[381] += R;
	SFIm[381] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 376), _mm_load_ps(SFRe + 380));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 376), _mm_load_ps(SFIm + 380));
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFRe + 376), _mm_load_ps(SFRe + 380)));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(_mm_load_ps(SFIm + 376), _mm_load_ps(SFIm + 380)));
	_mm_store_ps(SFRe + 376, mR);
	_mm_store_ps(SFIm + 376, mI);
	R = SFRe[374] + SFRe[375];
	I = SFIm[374] + SFIm[375];
	SFRe[375] = SFRe[374] - SFRe[375];
	SFIm[375] = SFIm[374] - SFIm[375];
	SFRe[374] = R;
	SFIm[374] = I;
	R = SFRe[372] + SFRe[373];
	I = SFIm[372] + SFIm[373];
	SFRe[373] = SFRe[372] - SFRe[373];
	SFIm[373] = SFIm[372] - SFIm[373];
	SFRe[372] = R;
	SFIm[372] = I;
	Re0 = SFRe[368]; Im0 = SFIm[368];
	Re1 = SFRe[369]; Im1 = SFIm[369];
	Re2 = SFRe[370]; Im2 = SFIm[370];
	Re3 = SFRe[371]; Im3 = SFIm[371];
	SFRe[368] = Re0 + Re1; SFIm[368] = Im0 + Im1;
	SFRe[369] = Re0 - Re1; SFIm[369] = Im0 - Im1;
	SFRe[370] = Re2 + Re3; SFIm[370] = Im2 + Im3;
	SFRe[371] = Im2 - Im3; SFIm[371] = Re3 - Re2;
	RA = SFRe[368] + SFRe[370];
	IA = SFIm[368] + SFIm[370];
	SFRe[370] = SFRe[368] - SFRe[370];
	SFIm[370] = SFIm[368] - SFIm[370];
	SFRe[368] = RA;
	SFIm[368] = IA;
	RA = SFRe[369] + SFRe[371];
	IA = SFIm[369] + SFIm[371];
	SFRe[371] = SFRe[369] - SFRe[371];
	SFIm[371] = SFIm[369] - SFIm[371];
	SFRe[369] = RA;
	SFIm[369] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[372];
	I = SFIm[372];
	SFRe[372] = R * RF1 - I * IF1;
	SFIm[372] = R * IF1 + I * RF1;
	R = SFRe[374];
	I = SFIm[374];
	SFRe[374] = R * RF2 - I * IF2;
	SFIm[374] = R * IF2 + I * RF2;
	R = SFRe[374];
	I = SFIm[374];
	SFRe[374] = SFIm[372] - I;
	SFIm[374] = R - SFRe[372];
	SFRe[372] += R;
	SFIm[372] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[373];
	I = SFIm[373];
	SFRe[373] = R * RF1 - I * IF1;
	SFIm[373] = R * IF1 + I * RF1;
	R = SFRe[375];
	I = SFIm[375];
	SFRe[375] = R * RF2 - I * IF2;
	SFIm[375] = R * IF2 + I * RF2;
	R = SFRe[375];
	I = SFIm[375];
	SFRe[375] = SFIm[373] - I;
	SFIm[375] = R - SFRe[373];
	SFRe[373] += R;
	SFIm[373] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 368), _mm_load_ps(SFRe + 372));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 368), _mm_load_ps(SFIm + 372));
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_load_ps(SFRe + 368), _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFIm + 372, _mm_sub_ps(_mm_load_ps(SFIm + 368), _mm_load_ps(SFIm + 372)));
	_mm_store_ps(SFRe + 368, mR);
	_mm_store_ps(SFIm + 368, mI);
	Re0 = SFRe[364]; Im0 = SFIm[364];
	Re1 = SFRe[365]; Im1 = SFIm[365];
	Re2 = SFRe[366]; Im2 = SFIm[366];
	Re3 = SFRe[367]; Im3 = SFIm[367];
	SFRe[364] = Re0 + Re1; SFIm[364] = Im0 + Im1;
	SFRe[365] = Re0 - Re1; SFIm[365] = Im0 - Im1;
	SFRe[366] = Re2 + Re3; SFIm[366] = Im2 + Im3;
	SFRe[367] = Im2 - Im3; SFIm[367] = Re3 - Re2;
	RA = SFRe[364] + SFRe[366];
	IA = SFIm[364] + SFIm[366];
	SFRe[366] = SFRe[364] - SFRe[366];
	SFIm[366] = SFIm[364] - SFIm[366];
	SFRe[364] = RA;
	SFIm[364] = IA;
	RA = SFRe[365] + SFRe[367];
	IA = SFIm[365] + SFIm[367];
	SFRe[367] = SFRe[365] - SFRe[367];
	SFIm[367] = SFIm[365] - SFIm[367];
	SFRe[365] = RA;
	SFIm[365] = IA;
	Re0 = SFRe[360]; Im0 = SFIm[360];
	Re1 = SFRe[361]; Im1 = SFIm[361];
	Re2 = SFRe[362]; Im2 = SFIm[362];
	Re3 = SFRe[363]; Im3 = SFIm[363];
	SFRe[360] = Re0 + Re1; SFIm[360] = Im0 + Im1;
	SFRe[361] = Re0 - Re1; SFIm[361] = Im0 - Im1;
	SFRe[362] = Re2 + Re3; SFIm[362] = Im2 + Im3;
	SFRe[363] = Im2 - Im3; SFIm[363] = Re3 - Re2;
	RA = SFRe[360] + SFRe[362];
	IA = SFIm[360] + SFIm[362];
	SFRe[362] = SFRe[360] - SFRe[362];
	SFIm[362] = SFIm[360] - SFIm[362];
	SFRe[360] = RA;
	SFIm[360] = IA;
	RA = SFRe[361] + SFRe[363];
	IA = SFIm[361] + SFIm[363];
	SFRe[363] = SFRe[361] - SFRe[363];
	SFIm[363] = SFIm[361] - SFIm[363];
	SFRe[361] = RA;
	SFIm[361] = IA;
	R = SFRe[358] + SFRe[359];
	I = SFIm[358] + SFIm[359];
	SFRe[359] = SFRe[358] - SFRe[359];
	SFIm[359] = SFIm[358] - SFIm[359];
	SFRe[358] = R;
	SFIm[358] = I;
	R = SFRe[356] + SFRe[357];
	I = SFIm[356] + SFIm[357];
	SFRe[357] = SFRe[356] - SFRe[357];
	SFIm[357] = SFIm[356] - SFIm[357];
	SFRe[356] = R;
	SFIm[356] = I;
	Re0 = SFRe[352]; Im0 = SFIm[352];
	Re1 = SFRe[353]; Im1 = SFIm[353];
	Re2 = SFRe[354]; Im2 = SFIm[354];
	Re3 = SFRe[355]; Im3 = SFIm[355];
	SFRe[352] = Re0 + Re1; SFIm[352] = Im0 + Im1;
	SFRe[353] = Re0 - Re1; SFIm[353] = Im0 - Im1;
	SFRe[354] = Re2 + Re3; SFIm[354] = Im2 + Im3;
	SFRe[355] = Im2 - Im3; SFIm[355] = Re3 - Re2;
	RA = SFRe[352] + SFRe[354];
	IA = SFIm[352] + SFIm[354];
	SFRe[354] = SFRe[352] - SFRe[354];
	SFIm[354] = SFIm[352] - SFIm[354];
	SFRe[352] = RA;
	SFIm[352] = IA;
	RA = SFRe[353] + SFRe[355];
	IA = SFIm[353] + SFIm[355];
	SFRe[355] = SFRe[353] - SFRe[355];
	SFIm[355] = SFIm[353] - SFIm[355];
	SFRe[353] = RA;
	SFIm[353] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[356];
	I = SFIm[356];
	SFRe[356] = R * RF1 - I * IF1;
	SFIm[356] = R * IF1 + I * RF1;
	R = SFRe[358];
	I = SFIm[358];
	SFRe[358] = R * RF2 - I * IF2;
	SFIm[358] = R * IF2 + I * RF2;
	R = SFRe[358];
	I = SFIm[358];
	SFRe[358] = SFIm[356] - I;
	SFIm[358] = R - SFRe[356];
	SFRe[356] += R;
	SFIm[356] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[357];
	I = SFIm[357];
	SFRe[357] = R * RF1 - I * IF1;
	SFIm[357] = R * IF1 + I * RF1;
	R = SFRe[359];
	I = SFIm[359];
	SFRe[359] = R * RF2 - I * IF2;
	SFIm[359] = R * IF2 + I * RF2;
	R = SFRe[359];
	I = SFIm[359];
	SFRe[359] = SFIm[357] - I;
	SFIm[359] = R - SFRe[357];
	SFRe[357] += R;
	SFIm[357] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 356));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 356));
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 356)));
	_mm_store_ps(SFIm + 356, _mm_sub_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 356)));
	_mm_store_ps(SFRe + 352, mR);
	_mm_store_ps(SFIm + 352, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 360);
	mI = _mm_load_ps(SFIm + 360);
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 364, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_load_ps(SFIm + 360), mI));
	_mm_store_ps(SFIm + 364, _mm_sub_ps(mR, _mm_load_ps(SFRe + 360)));
	_mm_store_ps(SFRe + 360, _mm_add_ps(_mm_load_ps(SFRe + 360), mR));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_load_ps(SFIm + 360), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 360));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 360));
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 360)));
	_mm_store_ps(SFIm + 360, _mm_sub_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 360)));
	_mm_store_ps(SFRe + 352, mR);
	_mm_store_ps(SFIm + 352, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 356), _mm_load_ps(SFRe + 364));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 356), _mm_load_ps(SFIm + 364));
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_load_ps(SFRe + 356), _mm_load_ps(SFRe + 364)));
	_mm_store_ps(SFIm + 364, _mm_sub_ps(_mm_load_ps(SFIm + 356), _mm_load_ps(SFIm + 364)));
	_mm_store_ps(SFRe + 356, mR);
	_mm_store_ps(SFIm + 356, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 368);
	mI = _mm_load_ps(SFIm + 368);
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 368, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 376);
	mI = _mm_load_ps(SFIm + 376);
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 376, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 376);
	mI = _mm_load_ps(SFIm + 376);
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_load_ps(SFIm + 368), mI));
	_mm_store_ps(SFIm + 376, _mm_sub_ps(mR, _mm_load_ps(SFRe + 368)));
	_mm_store_ps(SFRe + 368, _mm_add_ps(_mm_load_ps(SFRe + 368), mR));
	_mm_store_ps(SFIm + 368, _mm_add_ps(_mm_load_ps(SFIm + 368), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 372);
	mI = _mm_load_ps(SFIm + 372);
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 372, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 380);
	mI = _mm_load_ps(SFIm + 380);
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 380, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 380);
	mI = _mm_load_ps(SFIm + 380);
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFIm + 372), mI));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(mR, _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFRe + 372, _mm_add_ps(_mm_load_ps(SFRe + 372), mR));
	_mm_store_ps(SFIm + 372, _mm_add_ps(_mm_load_ps(SFIm + 372), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 368));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 368));
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 368)));
	_mm_store_ps(SFIm + 368, _mm_sub_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 368)));
	_mm_store_ps(SFRe + 352, mR);
	_mm_store_ps(SFIm + 352, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 356), _mm_load_ps(SFRe + 372));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 356), _mm_load_ps(SFIm + 372));
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_load_ps(SFRe + 356), _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFIm + 372, _mm_sub_ps(_mm_load_ps(SFIm + 356), _mm_load_ps(SFIm + 372)));
	_mm_store_ps(SFRe + 356, mR);
	_mm_store_ps(SFIm + 356, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 360), _mm_load_ps(SFRe + 376));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 360), _mm_load_ps(SFIm + 376));
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_load_ps(SFRe + 360), _mm_load_ps(SFRe + 376)));
	_mm_store_ps(SFIm + 376, _mm_sub_ps(_mm_load_ps(SFIm + 360), _mm_load_ps(SFIm + 376)));
	_mm_store_ps(SFRe + 360, mR);
	_mm_store_ps(SFIm + 360, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 364), _mm_load_ps(SFRe + 380));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 364), _mm_load_ps(SFIm + 380));
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFRe + 364), _mm_load_ps(SFRe + 380)));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(_mm_load_ps(SFIm + 364), _mm_load_ps(SFIm + 380)));
	_mm_store_ps(SFRe + 364, mR);
	_mm_store_ps(SFIm + 364, mI);
	R = SFRe[350] + SFRe[351];
	I = SFIm[350] + SFIm[351];
	SFRe[351] = SFRe[350] - SFRe[351];
	SFIm[351] = SFIm[350] - SFIm[351];
	SFRe[350] = R;
	SFIm[350] = I;
	R = SFRe[348] + SFRe[349];
	I = SFIm[348] + SFIm[349];
	SFRe[349] = SFRe[348] - SFRe[349];
	SFIm[349] = SFIm[348] - SFIm[349];
	SFRe[348] = R;
	SFIm[348] = I;
	Re0 = SFRe[344]; Im0 = SFIm[344];
	Re1 = SFRe[345]; Im1 = SFIm[345];
	Re2 = SFRe[346]; Im2 = SFIm[346];
	Re3 = SFRe[347]; Im3 = SFIm[347];
	SFRe[344] = Re0 + Re1; SFIm[344] = Im0 + Im1;
	SFRe[345] = Re0 - Re1; SFIm[345] = Im0 - Im1;
	SFRe[346] = Re2 + Re3; SFIm[346] = Im2 + Im3;
	SFRe[347] = Im2 - Im3; SFIm[347] = Re3 - Re2;
	RA = SFRe[344] + SFRe[346];
	IA = SFIm[344] + SFIm[346];
	SFRe[346] = SFRe[344] - SFRe[346];
	SFIm[346] = SFIm[344] - SFIm[346];
	SFRe[344] = RA;
	SFIm[344] = IA;
	RA = SFRe[345] + SFRe[347];
	IA = SFIm[345] + SFIm[347];
	SFRe[347] = SFRe[345] - SFRe[347];
	SFIm[347] = SFIm[345] - SFIm[347];
	SFRe[345] = RA;
	SFIm[345] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[348];
	I = SFIm[348];
	SFRe[348] = R * RF1 - I * IF1;
	SFIm[348] = R * IF1 + I * RF1;
	R = SFRe[350];
	I = SFIm[350];
	SFRe[350] = R * RF2 - I * IF2;
	SFIm[350] = R * IF2 + I * RF2;
	R = SFRe[350];
	I = SFIm[350];
	SFRe[350] = SFIm[348] - I;
	SFIm[350] = R - SFRe[348];
	SFRe[348] += R;
	SFIm[348] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[349];
	I = SFIm[349];
	SFRe[349] = R * RF1 - I * IF1;
	SFIm[349] = R * IF1 + I * RF1;
	R = SFRe[351];
	I = SFIm[351];
	SFRe[351] = R * RF2 - I * IF2;
	SFIm[351] = R * IF2 + I * RF2;
	R = SFRe[351];
	I = SFIm[351];
	SFRe[351] = SFIm[349] - I;
	SFIm[351] = R - SFRe[349];
	SFRe[349] += R;
	SFIm[349] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 344), _mm_load_ps(SFRe + 348));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 344), _mm_load_ps(SFIm + 348));
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_load_ps(SFRe + 344), _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFIm + 348, _mm_sub_ps(_mm_load_ps(SFIm + 344), _mm_load_ps(SFIm + 348)));
	_mm_store_ps(SFRe + 344, mR);
	_mm_store_ps(SFIm + 344, mI);
	R = SFRe[342] + SFRe[343];
	I = SFIm[342] + SFIm[343];
	SFRe[343] = SFRe[342] - SFRe[343];
	SFIm[343] = SFIm[342] - SFIm[343];
	SFRe[342] = R;
	SFIm[342] = I;
	R = SFRe[340] + SFRe[341];
	I = SFIm[340] + SFIm[341];
	SFRe[341] = SFRe[340] - SFRe[341];
	SFIm[341] = SFIm[340] - SFIm[341];
	SFRe[340] = R;
	SFIm[340] = I;
	Re0 = SFRe[336]; Im0 = SFIm[336];
	Re1 = SFRe[337]; Im1 = SFIm[337];
	Re2 = SFRe[338]; Im2 = SFIm[338];
	Re3 = SFRe[339]; Im3 = SFIm[339];
	SFRe[336] = Re0 + Re1; SFIm[336] = Im0 + Im1;
	SFRe[337] = Re0 - Re1; SFIm[337] = Im0 - Im1;
	SFRe[338] = Re2 + Re3; SFIm[338] = Im2 + Im3;
	SFRe[339] = Im2 - Im3; SFIm[339] = Re3 - Re2;
	RA = SFRe[336] + SFRe[338];
	IA = SFIm[336] + SFIm[338];
	SFRe[338] = SFRe[336] - SFRe[338];
	SFIm[338] = SFIm[336] - SFIm[338];
	SFRe[336] = RA;
	SFIm[336] = IA;
	RA = SFRe[337] + SFRe[339];
	IA = SFIm[337] + SFIm[339];
	SFRe[339] = SFRe[337] - SFRe[339];
	SFIm[339] = SFIm[337] - SFIm[339];
	SFRe[337] = RA;
	SFIm[337] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[340];
	I = SFIm[340];
	SFRe[340] = R * RF1 - I * IF1;
	SFIm[340] = R * IF1 + I * RF1;
	R = SFRe[342];
	I = SFIm[342];
	SFRe[342] = R * RF2 - I * IF2;
	SFIm[342] = R * IF2 + I * RF2;
	R = SFRe[342];
	I = SFIm[342];
	SFRe[342] = SFIm[340] - I;
	SFIm[342] = R - SFRe[340];
	SFRe[340] += R;
	SFIm[340] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[341];
	I = SFIm[341];
	SFRe[341] = R * RF1 - I * IF1;
	SFIm[341] = R * IF1 + I * RF1;
	R = SFRe[343];
	I = SFIm[343];
	SFRe[343] = R * RF2 - I * IF2;
	SFIm[343] = R * IF2 + I * RF2;
	R = SFRe[343];
	I = SFIm[343];
	SFRe[343] = SFIm[341] - I;
	SFIm[343] = R - SFRe[341];
	SFRe[341] += R;
	SFIm[341] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 336), _mm_load_ps(SFRe + 340));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 336), _mm_load_ps(SFIm + 340));
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_load_ps(SFRe + 336), _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFIm + 340, _mm_sub_ps(_mm_load_ps(SFIm + 336), _mm_load_ps(SFIm + 340)));
	_mm_store_ps(SFRe + 336, mR);
	_mm_store_ps(SFIm + 336, mI);
	Re0 = SFRe[332]; Im0 = SFIm[332];
	Re1 = SFRe[333]; Im1 = SFIm[333];
	Re2 = SFRe[334]; Im2 = SFIm[334];
	Re3 = SFRe[335]; Im3 = SFIm[335];
	SFRe[332] = Re0 + Re1; SFIm[332] = Im0 + Im1;
	SFRe[333] = Re0 - Re1; SFIm[333] = Im0 - Im1;
	SFRe[334] = Re2 + Re3; SFIm[334] = Im2 + Im3;
	SFRe[335] = Im2 - Im3; SFIm[335] = Re3 - Re2;
	RA = SFRe[332] + SFRe[334];
	IA = SFIm[332] + SFIm[334];
	SFRe[334] = SFRe[332] - SFRe[334];
	SFIm[334] = SFIm[332] - SFIm[334];
	SFRe[332] = RA;
	SFIm[332] = IA;
	RA = SFRe[333] + SFRe[335];
	IA = SFIm[333] + SFIm[335];
	SFRe[335] = SFRe[333] - SFRe[335];
	SFIm[335] = SFIm[333] - SFIm[335];
	SFRe[333] = RA;
	SFIm[333] = IA;
	Re0 = SFRe[328]; Im0 = SFIm[328];
	Re1 = SFRe[329]; Im1 = SFIm[329];
	Re2 = SFRe[330]; Im2 = SFIm[330];
	Re3 = SFRe[331]; Im3 = SFIm[331];
	SFRe[328] = Re0 + Re1; SFIm[328] = Im0 + Im1;
	SFRe[329] = Re0 - Re1; SFIm[329] = Im0 - Im1;
	SFRe[330] = Re2 + Re3; SFIm[330] = Im2 + Im3;
	SFRe[331] = Im2 - Im3; SFIm[331] = Re3 - Re2;
	RA = SFRe[328] + SFRe[330];
	IA = SFIm[328] + SFIm[330];
	SFRe[330] = SFRe[328] - SFRe[330];
	SFIm[330] = SFIm[328] - SFIm[330];
	SFRe[328] = RA;
	SFIm[328] = IA;
	RA = SFRe[329] + SFRe[331];
	IA = SFIm[329] + SFIm[331];
	SFRe[331] = SFRe[329] - SFRe[331];
	SFIm[331] = SFIm[329] - SFIm[331];
	SFRe[329] = RA;
	SFIm[329] = IA;
	R = SFRe[326] + SFRe[327];
	I = SFIm[326] + SFIm[327];
	SFRe[327] = SFRe[326] - SFRe[327];
	SFIm[327] = SFIm[326] - SFIm[327];
	SFRe[326] = R;
	SFIm[326] = I;
	R = SFRe[324] + SFRe[325];
	I = SFIm[324] + SFIm[325];
	SFRe[325] = SFRe[324] - SFRe[325];
	SFIm[325] = SFIm[324] - SFIm[325];
	SFRe[324] = R;
	SFIm[324] = I;
	Re0 = SFRe[320]; Im0 = SFIm[320];
	Re1 = SFRe[321]; Im1 = SFIm[321];
	Re2 = SFRe[322]; Im2 = SFIm[322];
	Re3 = SFRe[323]; Im3 = SFIm[323];
	SFRe[320] = Re0 + Re1; SFIm[320] = Im0 + Im1;
	SFRe[321] = Re0 - Re1; SFIm[321] = Im0 - Im1;
	SFRe[322] = Re2 + Re3; SFIm[322] = Im2 + Im3;
	SFRe[323] = Im2 - Im3; SFIm[323] = Re3 - Re2;
	RA = SFRe[320] + SFRe[322];
	IA = SFIm[320] + SFIm[322];
	SFRe[322] = SFRe[320] - SFRe[322];
	SFIm[322] = SFIm[320] - SFIm[322];
	SFRe[320] = RA;
	SFIm[320] = IA;
	RA = SFRe[321] + SFRe[323];
	IA = SFIm[321] + SFIm[323];
	SFRe[323] = SFRe[321] - SFRe[323];
	SFIm[323] = SFIm[321] - SFIm[323];
	SFRe[321] = RA;
	SFIm[321] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[324];
	I = SFIm[324];
	SFRe[324] = R * RF1 - I * IF1;
	SFIm[324] = R * IF1 + I * RF1;
	R = SFRe[326];
	I = SFIm[326];
	SFRe[326] = R * RF2 - I * IF2;
	SFIm[326] = R * IF2 + I * RF2;
	R = SFRe[326];
	I = SFIm[326];
	SFRe[326] = SFIm[324] - I;
	SFIm[326] = R - SFRe[324];
	SFRe[324] += R;
	SFIm[324] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[325];
	I = SFIm[325];
	SFRe[325] = R * RF1 - I * IF1;
	SFIm[325] = R * IF1 + I * RF1;
	R = SFRe[327];
	I = SFIm[327];
	SFRe[327] = R * RF2 - I * IF2;
	SFIm[327] = R * IF2 + I * RF2;
	R = SFRe[327];
	I = SFIm[327];
	SFRe[327] = SFIm[325] - I;
	SFIm[327] = R - SFRe[325];
	SFRe[325] += R;
	SFIm[325] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 324));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 324));
	_mm_store_ps(SFRe + 324, _mm_sub_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 324)));
	_mm_store_ps(SFIm + 324, _mm_sub_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 324)));
	_mm_store_ps(SFRe + 320, mR);
	_mm_store_ps(SFIm + 320, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 328);
	mI = _mm_load_ps(SFIm + 328);
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 332);
	mI = _mm_load_ps(SFIm + 332);
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 332, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 332);
	mI = _mm_load_ps(SFIm + 332);
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_load_ps(SFIm + 328), mI));
	_mm_store_ps(SFIm + 332, _mm_sub_ps(mR, _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFRe + 328, _mm_add_ps(_mm_load_ps(SFRe + 328), mR));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_load_ps(SFIm + 328), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 328));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 328));
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFIm + 328, _mm_sub_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 328)));
	_mm_store_ps(SFRe + 320, mR);
	_mm_store_ps(SFIm + 320, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 324), _mm_load_ps(SFRe + 332));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 324), _mm_load_ps(SFIm + 332));
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_load_ps(SFRe + 324), _mm_load_ps(SFRe + 332)));
	_mm_store_ps(SFIm + 332, _mm_sub_ps(_mm_load_ps(SFIm + 324), _mm_load_ps(SFIm + 332)));
	_mm_store_ps(SFRe + 324, mR);
	_mm_store_ps(SFIm + 324, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 336);
	mI = _mm_load_ps(SFIm + 336);
	_mm_store_ps(SFRe + 336, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 336, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 344);
	mI = _mm_load_ps(SFIm + 344);
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 344, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 344);
	mI = _mm_load_ps(SFIm + 344);
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_load_ps(SFIm + 336), mI));
	_mm_store_ps(SFIm + 344, _mm_sub_ps(mR, _mm_load_ps(SFRe + 336)));
	_mm_store_ps(SFRe + 336, _mm_add_ps(_mm_load_ps(SFRe + 336), mR));
	_mm_store_ps(SFIm + 336, _mm_add_ps(_mm_load_ps(SFIm + 336), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 340);
	mI = _mm_load_ps(SFIm + 340);
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 340, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 348);
	mI = _mm_load_ps(SFIm + 348);
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 348, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 348);
	mI = _mm_load_ps(SFIm + 348);
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_load_ps(SFIm + 340), mI));
	_mm_store_ps(SFIm + 348, _mm_sub_ps(mR, _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFRe + 340, _mm_add_ps(_mm_load_ps(SFRe + 340), mR));
	_mm_store_ps(SFIm + 340, _mm_add_ps(_mm_load_ps(SFIm + 340), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 336));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 336));
	_mm_store_ps(SFRe + 336, _mm_sub_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 336)));
	_mm_store_ps(SFIm + 336, _mm_sub_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 336)));
	_mm_store_ps(SFRe + 320, mR);
	_mm_store_ps(SFIm + 320, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 324), _mm_load_ps(SFRe + 340));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 324), _mm_load_ps(SFIm + 340));
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_load_ps(SFRe + 324), _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFIm + 340, _mm_sub_ps(_mm_load_ps(SFIm + 324), _mm_load_ps(SFIm + 340)));
	_mm_store_ps(SFRe + 324, mR);
	_mm_store_ps(SFIm + 324, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 328), _mm_load_ps(SFRe + 344));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 328), _mm_load_ps(SFIm + 344));
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_load_ps(SFRe + 328), _mm_load_ps(SFRe + 344)));
	_mm_store_ps(SFIm + 344, _mm_sub_ps(_mm_load_ps(SFIm + 328), _mm_load_ps(SFIm + 344)));
	_mm_store_ps(SFRe + 328, mR);
	_mm_store_ps(SFIm + 328, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 332), _mm_load_ps(SFRe + 348));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 332), _mm_load_ps(SFIm + 348));
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_load_ps(SFRe + 332), _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFIm + 348, _mm_sub_ps(_mm_load_ps(SFIm + 332), _mm_load_ps(SFIm + 348)));
	_mm_store_ps(SFRe + 332, mR);
	_mm_store_ps(SFIm + 332, mI);
	Re0 = SFRe[316]; Im0 = SFIm[316];
	Re1 = SFRe[317]; Im1 = SFIm[317];
	Re2 = SFRe[318]; Im2 = SFIm[318];
	Re3 = SFRe[319]; Im3 = SFIm[319];
	SFRe[316] = Re0 + Re1; SFIm[316] = Im0 + Im1;
	SFRe[317] = Re0 - Re1; SFIm[317] = Im0 - Im1;
	SFRe[318] = Re2 + Re3; SFIm[318] = Im2 + Im3;
	SFRe[319] = Im2 - Im3; SFIm[319] = Re3 - Re2;
	RA = SFRe[316] + SFRe[318];
	IA = SFIm[316] + SFIm[318];
	SFRe[318] = SFRe[316] - SFRe[318];
	SFIm[318] = SFIm[316] - SFIm[318];
	SFRe[316] = RA;
	SFIm[316] = IA;
	RA = SFRe[317] + SFRe[319];
	IA = SFIm[317] + SFIm[319];
	SFRe[319] = SFRe[317] - SFRe[319];
	SFIm[319] = SFIm[317] - SFIm[319];
	SFRe[317] = RA;
	SFIm[317] = IA;
	Re0 = SFRe[312]; Im0 = SFIm[312];
	Re1 = SFRe[313]; Im1 = SFIm[313];
	Re2 = SFRe[314]; Im2 = SFIm[314];
	Re3 = SFRe[315]; Im3 = SFIm[315];
	SFRe[312] = Re0 + Re1; SFIm[312] = Im0 + Im1;
	SFRe[313] = Re0 - Re1; SFIm[313] = Im0 - Im1;
	SFRe[314] = Re2 + Re3; SFIm[314] = Im2 + Im3;
	SFRe[315] = Im2 - Im3; SFIm[315] = Re3 - Re2;
	RA = SFRe[312] + SFRe[314];
	IA = SFIm[312] + SFIm[314];
	SFRe[314] = SFRe[312] - SFRe[314];
	SFIm[314] = SFIm[312] - SFIm[314];
	SFRe[312] = RA;
	SFIm[312] = IA;
	RA = SFRe[313] + SFRe[315];
	IA = SFIm[313] + SFIm[315];
	SFRe[315] = SFRe[313] - SFRe[315];
	SFIm[315] = SFIm[313] - SFIm[315];
	SFRe[313] = RA;
	SFIm[313] = IA;
	R = SFRe[310] + SFRe[311];
	I = SFIm[310] + SFIm[311];
	SFRe[311] = SFRe[310] - SFRe[311];
	SFIm[311] = SFIm[310] - SFIm[311];
	SFRe[310] = R;
	SFIm[310] = I;
	R = SFRe[308] + SFRe[309];
	I = SFIm[308] + SFIm[309];
	SFRe[309] = SFRe[308] - SFRe[309];
	SFIm[309] = SFIm[308] - SFIm[309];
	SFRe[308] = R;
	SFIm[308] = I;
	Re0 = SFRe[304]; Im0 = SFIm[304];
	Re1 = SFRe[305]; Im1 = SFIm[305];
	Re2 = SFRe[306]; Im2 = SFIm[306];
	Re3 = SFRe[307]; Im3 = SFIm[307];
	SFRe[304] = Re0 + Re1; SFIm[304] = Im0 + Im1;
	SFRe[305] = Re0 - Re1; SFIm[305] = Im0 - Im1;
	SFRe[306] = Re2 + Re3; SFIm[306] = Im2 + Im3;
	SFRe[307] = Im2 - Im3; SFIm[307] = Re3 - Re2;
	RA = SFRe[304] + SFRe[306];
	IA = SFIm[304] + SFIm[306];
	SFRe[306] = SFRe[304] - SFRe[306];
	SFIm[306] = SFIm[304] - SFIm[306];
	SFRe[304] = RA;
	SFIm[304] = IA;
	RA = SFRe[305] + SFRe[307];
	IA = SFIm[305] + SFIm[307];
	SFRe[307] = SFRe[305] - SFRe[307];
	SFIm[307] = SFIm[305] - SFIm[307];
	SFRe[305] = RA;
	SFIm[305] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[308];
	I = SFIm[308];
	SFRe[308] = R * RF1 - I * IF1;
	SFIm[308] = R * IF1 + I * RF1;
	R = SFRe[310];
	I = SFIm[310];
	SFRe[310] = R * RF2 - I * IF2;
	SFIm[310] = R * IF2 + I * RF2;
	R = SFRe[310];
	I = SFIm[310];
	SFRe[310] = SFIm[308] - I;
	SFIm[310] = R - SFRe[308];
	SFRe[308] += R;
	SFIm[308] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[309];
	I = SFIm[309];
	SFRe[309] = R * RF1 - I * IF1;
	SFIm[309] = R * IF1 + I * RF1;
	R = SFRe[311];
	I = SFIm[311];
	SFRe[311] = R * RF2 - I * IF2;
	SFIm[311] = R * IF2 + I * RF2;
	R = SFRe[311];
	I = SFIm[311];
	SFRe[311] = SFIm[309] - I;
	SFIm[311] = R - SFRe[309];
	SFRe[309] += R;
	SFIm[309] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 308));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 308));
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 308)));
	_mm_store_ps(SFIm + 308, _mm_sub_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 308)));
	_mm_store_ps(SFRe + 304, mR);
	_mm_store_ps(SFIm + 304, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 312);
	mI = _mm_load_ps(SFIm + 312);
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 316, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_load_ps(SFIm + 312), mI));
	_mm_store_ps(SFIm + 316, _mm_sub_ps(mR, _mm_load_ps(SFRe + 312)));
	_mm_store_ps(SFRe + 312, _mm_add_ps(_mm_load_ps(SFRe + 312), mR));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_load_ps(SFIm + 312), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 312));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 312));
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 312)));
	_mm_store_ps(SFIm + 312, _mm_sub_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 312)));
	_mm_store_ps(SFRe + 304, mR);
	_mm_store_ps(SFIm + 304, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 308), _mm_load_ps(SFRe + 316));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 308), _mm_load_ps(SFIm + 316));
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_load_ps(SFRe + 308), _mm_load_ps(SFRe + 316)));
	_mm_store_ps(SFIm + 316, _mm_sub_ps(_mm_load_ps(SFIm + 308), _mm_load_ps(SFIm + 316)));
	_mm_store_ps(SFRe + 308, mR);
	_mm_store_ps(SFIm + 308, mI);
	Re0 = SFRe[300]; Im0 = SFIm[300];
	Re1 = SFRe[301]; Im1 = SFIm[301];
	Re2 = SFRe[302]; Im2 = SFIm[302];
	Re3 = SFRe[303]; Im3 = SFIm[303];
	SFRe[300] = Re0 + Re1; SFIm[300] = Im0 + Im1;
	SFRe[301] = Re0 - Re1; SFIm[301] = Im0 - Im1;
	SFRe[302] = Re2 + Re3; SFIm[302] = Im2 + Im3;
	SFRe[303] = Im2 - Im3; SFIm[303] = Re3 - Re2;
	RA = SFRe[300] + SFRe[302];
	IA = SFIm[300] + SFIm[302];
	SFRe[302] = SFRe[300] - SFRe[302];
	SFIm[302] = SFIm[300] - SFIm[302];
	SFRe[300] = RA;
	SFIm[300] = IA;
	RA = SFRe[301] + SFRe[303];
	IA = SFIm[301] + SFIm[303];
	SFRe[303] = SFRe[301] - SFRe[303];
	SFIm[303] = SFIm[301] - SFIm[303];
	SFRe[301] = RA;
	SFIm[301] = IA;
	Re0 = SFRe[296]; Im0 = SFIm[296];
	Re1 = SFRe[297]; Im1 = SFIm[297];
	Re2 = SFRe[298]; Im2 = SFIm[298];
	Re3 = SFRe[299]; Im3 = SFIm[299];
	SFRe[296] = Re0 + Re1; SFIm[296] = Im0 + Im1;
	SFRe[297] = Re0 - Re1; SFIm[297] = Im0 - Im1;
	SFRe[298] = Re2 + Re3; SFIm[298] = Im2 + Im3;
	SFRe[299] = Im2 - Im3; SFIm[299] = Re3 - Re2;
	RA = SFRe[296] + SFRe[298];
	IA = SFIm[296] + SFIm[298];
	SFRe[298] = SFRe[296] - SFRe[298];
	SFIm[298] = SFIm[296] - SFIm[298];
	SFRe[296] = RA;
	SFIm[296] = IA;
	RA = SFRe[297] + SFRe[299];
	IA = SFIm[297] + SFIm[299];
	SFRe[299] = SFRe[297] - SFRe[299];
	SFIm[299] = SFIm[297] - SFIm[299];
	SFRe[297] = RA;
	SFIm[297] = IA;
	R = SFRe[294] + SFRe[295];
	I = SFIm[294] + SFIm[295];
	SFRe[295] = SFRe[294] - SFRe[295];
	SFIm[295] = SFIm[294] - SFIm[295];
	SFRe[294] = R;
	SFIm[294] = I;
	R = SFRe[292] + SFRe[293];
	I = SFIm[292] + SFIm[293];
	SFRe[293] = SFRe[292] - SFRe[293];
	SFIm[293] = SFIm[292] - SFIm[293];
	SFRe[292] = R;
	SFIm[292] = I;
	Re0 = SFRe[288]; Im0 = SFIm[288];
	Re1 = SFRe[289]; Im1 = SFIm[289];
	Re2 = SFRe[290]; Im2 = SFIm[290];
	Re3 = SFRe[291]; Im3 = SFIm[291];
	SFRe[288] = Re0 + Re1; SFIm[288] = Im0 + Im1;
	SFRe[289] = Re0 - Re1; SFIm[289] = Im0 - Im1;
	SFRe[290] = Re2 + Re3; SFIm[290] = Im2 + Im3;
	SFRe[291] = Im2 - Im3; SFIm[291] = Re3 - Re2;
	RA = SFRe[288] + SFRe[290];
	IA = SFIm[288] + SFIm[290];
	SFRe[290] = SFRe[288] - SFRe[290];
	SFIm[290] = SFIm[288] - SFIm[290];
	SFRe[288] = RA;
	SFIm[288] = IA;
	RA = SFRe[289] + SFRe[291];
	IA = SFIm[289] + SFIm[291];
	SFRe[291] = SFRe[289] - SFRe[291];
	SFIm[291] = SFIm[289] - SFIm[291];
	SFRe[289] = RA;
	SFIm[289] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[292];
	I = SFIm[292];
	SFRe[292] = R * RF1 - I * IF1;
	SFIm[292] = R * IF1 + I * RF1;
	R = SFRe[294];
	I = SFIm[294];
	SFRe[294] = R * RF2 - I * IF2;
	SFIm[294] = R * IF2 + I * RF2;
	R = SFRe[294];
	I = SFIm[294];
	SFRe[294] = SFIm[292] - I;
	SFIm[294] = R - SFRe[292];
	SFRe[292] += R;
	SFIm[292] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[293];
	I = SFIm[293];
	SFRe[293] = R * RF1 - I * IF1;
	SFIm[293] = R * IF1 + I * RF1;
	R = SFRe[295];
	I = SFIm[295];
	SFRe[295] = R * RF2 - I * IF2;
	SFIm[295] = R * IF2 + I * RF2;
	R = SFRe[295];
	I = SFIm[295];
	SFRe[295] = SFIm[293] - I;
	SFIm[295] = R - SFRe[293];
	SFRe[293] += R;
	SFIm[293] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 292));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 292));
	_mm_store_ps(SFRe + 292, _mm_sub_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 292)));
	_mm_store_ps(SFIm + 292, _mm_sub_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 292)));
	_mm_store_ps(SFRe + 288, mR);
	_mm_store_ps(SFIm + 288, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 296);
	mI = _mm_load_ps(SFIm + 296);
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 300);
	mI = _mm_load_ps(SFIm + 300);
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 300, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 300);
	mI = _mm_load_ps(SFIm + 300);
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_load_ps(SFIm + 296), mI));
	_mm_store_ps(SFIm + 300, _mm_sub_ps(mR, _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFRe + 296, _mm_add_ps(_mm_load_ps(SFRe + 296), mR));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_load_ps(SFIm + 296), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 296));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 296));
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFIm + 296, _mm_sub_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 296)));
	_mm_store_ps(SFRe + 288, mR);
	_mm_store_ps(SFIm + 288, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 292), _mm_load_ps(SFRe + 300));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 292), _mm_load_ps(SFIm + 300));
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_load_ps(SFRe + 292), _mm_load_ps(SFRe + 300)));
	_mm_store_ps(SFIm + 300, _mm_sub_ps(_mm_load_ps(SFIm + 292), _mm_load_ps(SFIm + 300)));
	_mm_store_ps(SFRe + 292, mR);
	_mm_store_ps(SFIm + 292, mI);
	R = SFRe[286] + SFRe[287];
	I = SFIm[286] + SFIm[287];
	SFRe[287] = SFRe[286] - SFRe[287];
	SFIm[287] = SFIm[286] - SFIm[287];
	SFRe[286] = R;
	SFIm[286] = I;
	R = SFRe[284] + SFRe[285];
	I = SFIm[284] + SFIm[285];
	SFRe[285] = SFRe[284] - SFRe[285];
	SFIm[285] = SFIm[284] - SFIm[285];
	SFRe[284] = R;
	SFIm[284] = I;
	Re0 = SFRe[280]; Im0 = SFIm[280];
	Re1 = SFRe[281]; Im1 = SFIm[281];
	Re2 = SFRe[282]; Im2 = SFIm[282];
	Re3 = SFRe[283]; Im3 = SFIm[283];
	SFRe[280] = Re0 + Re1; SFIm[280] = Im0 + Im1;
	SFRe[281] = Re0 - Re1; SFIm[281] = Im0 - Im1;
	SFRe[282] = Re2 + Re3; SFIm[282] = Im2 + Im3;
	SFRe[283] = Im2 - Im3; SFIm[283] = Re3 - Re2;
	RA = SFRe[280] + SFRe[282];
	IA = SFIm[280] + SFIm[282];
	SFRe[282] = SFRe[280] - SFRe[282];
	SFIm[282] = SFIm[280] - SFIm[282];
	SFRe[280] = RA;
	SFIm[280] = IA;
	RA = SFRe[281] + SFRe[283];
	IA = SFIm[281] + SFIm[283];
	SFRe[283] = SFRe[281] - SFRe[283];
	SFIm[283] = SFIm[281] - SFIm[283];
	SFRe[281] = RA;
	SFIm[281] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[284];
	I = SFIm[284];
	SFRe[284] = R * RF1 - I * IF1;
	SFIm[284] = R * IF1 + I * RF1;
	R = SFRe[286];
	I = SFIm[286];
	SFRe[286] = R * RF2 - I * IF2;
	SFIm[286] = R * IF2 + I * RF2;
	R = SFRe[286];
	I = SFIm[286];
	SFRe[286] = SFIm[284] - I;
	SFIm[286] = R - SFRe[284];
	SFRe[284] += R;
	SFIm[284] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[285];
	I = SFIm[285];
	SFRe[285] = R * RF1 - I * IF1;
	SFIm[285] = R * IF1 + I * RF1;
	R = SFRe[287];
	I = SFIm[287];
	SFRe[287] = R * RF2 - I * IF2;
	SFIm[287] = R * IF2 + I * RF2;
	R = SFRe[287];
	I = SFIm[287];
	SFRe[287] = SFIm[285] - I;
	SFIm[287] = R - SFRe[285];
	SFRe[285] += R;
	SFIm[285] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 284));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 284));
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 284)));
	_mm_store_ps(SFIm + 284, _mm_sub_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 284)));
	_mm_store_ps(SFRe + 280, mR);
	_mm_store_ps(SFIm + 280, mI);
	R = SFRe[278] + SFRe[279];
	I = SFIm[278] + SFIm[279];
	SFRe[279] = SFRe[278] - SFRe[279];
	SFIm[279] = SFIm[278] - SFIm[279];
	SFRe[278] = R;
	SFIm[278] = I;
	R = SFRe[276] + SFRe[277];
	I = SFIm[276] + SFIm[277];
	SFRe[277] = SFRe[276] - SFRe[277];
	SFIm[277] = SFIm[276] - SFIm[277];
	SFRe[276] = R;
	SFIm[276] = I;
	Re0 = SFRe[272]; Im0 = SFIm[272];
	Re1 = SFRe[273]; Im1 = SFIm[273];
	Re2 = SFRe[274]; Im2 = SFIm[274];
	Re3 = SFRe[275]; Im3 = SFIm[275];
	SFRe[272] = Re0 + Re1; SFIm[272] = Im0 + Im1;
	SFRe[273] = Re0 - Re1; SFIm[273] = Im0 - Im1;
	SFRe[274] = Re2 + Re3; SFIm[274] = Im2 + Im3;
	SFRe[275] = Im2 - Im3; SFIm[275] = Re3 - Re2;
	RA = SFRe[272] + SFRe[274];
	IA = SFIm[272] + SFIm[274];
	SFRe[274] = SFRe[272] - SFRe[274];
	SFIm[274] = SFIm[272] - SFIm[274];
	SFRe[272] = RA;
	SFIm[272] = IA;
	RA = SFRe[273] + SFRe[275];
	IA = SFIm[273] + SFIm[275];
	SFRe[275] = SFRe[273] - SFRe[275];
	SFIm[275] = SFIm[273] - SFIm[275];
	SFRe[273] = RA;
	SFIm[273] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[276];
	I = SFIm[276];
	SFRe[276] = R * RF1 - I * IF1;
	SFIm[276] = R * IF1 + I * RF1;
	R = SFRe[278];
	I = SFIm[278];
	SFRe[278] = R * RF2 - I * IF2;
	SFIm[278] = R * IF2 + I * RF2;
	R = SFRe[278];
	I = SFIm[278];
	SFRe[278] = SFIm[276] - I;
	SFIm[278] = R - SFRe[276];
	SFRe[276] += R;
	SFIm[276] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[277];
	I = SFIm[277];
	SFRe[277] = R * RF1 - I * IF1;
	SFIm[277] = R * IF1 + I * RF1;
	R = SFRe[279];
	I = SFIm[279];
	SFRe[279] = R * RF2 - I * IF2;
	SFIm[279] = R * IF2 + I * RF2;
	R = SFRe[279];
	I = SFIm[279];
	SFRe[279] = SFIm[277] - I;
	SFIm[279] = R - SFRe[277];
	SFRe[277] += R;
	SFIm[277] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 276));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 276));
	_mm_store_ps(SFRe + 276, _mm_sub_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 276)));
	_mm_store_ps(SFIm + 276, _mm_sub_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 276)));
	_mm_store_ps(SFRe + 272, mR);
	_mm_store_ps(SFIm + 272, mI);
	Re0 = SFRe[268]; Im0 = SFIm[268];
	Re1 = SFRe[269]; Im1 = SFIm[269];
	Re2 = SFRe[270]; Im2 = SFIm[270];
	Re3 = SFRe[271]; Im3 = SFIm[271];
	SFRe[268] = Re0 + Re1; SFIm[268] = Im0 + Im1;
	SFRe[269] = Re0 - Re1; SFIm[269] = Im0 - Im1;
	SFRe[270] = Re2 + Re3; SFIm[270] = Im2 + Im3;
	SFRe[271] = Im2 - Im3; SFIm[271] = Re3 - Re2;
	RA = SFRe[268] + SFRe[270];
	IA = SFIm[268] + SFIm[270];
	SFRe[270] = SFRe[268] - SFRe[270];
	SFIm[270] = SFIm[268] - SFIm[270];
	SFRe[268] = RA;
	SFIm[268] = IA;
	RA = SFRe[269] + SFRe[271];
	IA = SFIm[269] + SFIm[271];
	SFRe[271] = SFRe[269] - SFRe[271];
	SFIm[271] = SFIm[269] - SFIm[271];
	SFRe[269] = RA;
	SFIm[269] = IA;
	Re0 = SFRe[264]; Im0 = SFIm[264];
	Re1 = SFRe[265]; Im1 = SFIm[265];
	Re2 = SFRe[266]; Im2 = SFIm[266];
	Re3 = SFRe[267]; Im3 = SFIm[267];
	SFRe[264] = Re0 + Re1; SFIm[264] = Im0 + Im1;
	SFRe[265] = Re0 - Re1; SFIm[265] = Im0 - Im1;
	SFRe[266] = Re2 + Re3; SFIm[266] = Im2 + Im3;
	SFRe[267] = Im2 - Im3; SFIm[267] = Re3 - Re2;
	RA = SFRe[264] + SFRe[266];
	IA = SFIm[264] + SFIm[266];
	SFRe[266] = SFRe[264] - SFRe[266];
	SFIm[266] = SFIm[264] - SFIm[266];
	SFRe[264] = RA;
	SFIm[264] = IA;
	RA = SFRe[265] + SFRe[267];
	IA = SFIm[265] + SFIm[267];
	SFRe[267] = SFRe[265] - SFRe[267];
	SFIm[267] = SFIm[265] - SFIm[267];
	SFRe[265] = RA;
	SFIm[265] = IA;
	R = SFRe[262] + SFRe[263];
	I = SFIm[262] + SFIm[263];
	SFRe[263] = SFRe[262] - SFRe[263];
	SFIm[263] = SFIm[262] - SFIm[263];
	SFRe[262] = R;
	SFIm[262] = I;
	R = SFRe[260] + SFRe[261];
	I = SFIm[260] + SFIm[261];
	SFRe[261] = SFRe[260] - SFRe[261];
	SFIm[261] = SFIm[260] - SFIm[261];
	SFRe[260] = R;
	SFIm[260] = I;
	Re0 = SFRe[256]; Im0 = SFIm[256];
	Re1 = SFRe[257]; Im1 = SFIm[257];
	Re2 = SFRe[258]; Im2 = SFIm[258];
	Re3 = SFRe[259]; Im3 = SFIm[259];
	SFRe[256] = Re0 + Re1; SFIm[256] = Im0 + Im1;
	SFRe[257] = Re0 - Re1; SFIm[257] = Im0 - Im1;
	SFRe[258] = Re2 + Re3; SFIm[258] = Im2 + Im3;
	SFRe[259] = Im2 - Im3; SFIm[259] = Re3 - Re2;
	RA = SFRe[256] + SFRe[258];
	IA = SFIm[256] + SFIm[258];
	SFRe[258] = SFRe[256] - SFRe[258];
	SFIm[258] = SFIm[256] - SFIm[258];
	SFRe[256] = RA;
	SFIm[256] = IA;
	RA = SFRe[257] + SFRe[259];
	IA = SFIm[257] + SFIm[259];
	SFRe[259] = SFRe[257] - SFRe[259];
	SFIm[259] = SFIm[257] - SFIm[259];
	SFRe[257] = RA;
	SFIm[257] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[260];
	I = SFIm[260];
	SFRe[260] = R * RF1 - I * IF1;
	SFIm[260] = R * IF1 + I * RF1;
	R = SFRe[262];
	I = SFIm[262];
	SFRe[262] = R * RF2 - I * IF2;
	SFIm[262] = R * IF2 + I * RF2;
	R = SFRe[262];
	I = SFIm[262];
	SFRe[262] = SFIm[260] - I;
	SFIm[262] = R - SFRe[260];
	SFRe[260] += R;
	SFIm[260] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[261];
	I = SFIm[261];
	SFRe[261] = R * RF1 - I * IF1;
	SFIm[261] = R * IF1 + I * RF1;
	R = SFRe[263];
	I = SFIm[263];
	SFRe[263] = R * RF2 - I * IF2;
	SFIm[263] = R * IF2 + I * RF2;
	R = SFRe[263];
	I = SFIm[263];
	SFRe[263] = SFIm[261] - I;
	SFIm[263] = R - SFRe[261];
	SFRe[261] += R;
	SFIm[261] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 260));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 260));
	_mm_store_ps(SFRe + 260, _mm_sub_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 260)));
	_mm_store_ps(SFIm + 260, _mm_sub_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 260)));
	_mm_store_ps(SFRe + 256, mR);
	_mm_store_ps(SFIm + 256, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 264);
	mI = _mm_load_ps(SFIm + 264);
	_mm_store_ps(SFRe + 264, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 264, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 268);
	mI = _mm_load_ps(SFIm + 268);
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 268, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 268);
	mI = _mm_load_ps(SFIm + 268);
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_load_ps(SFIm + 264), mI));
	_mm_store_ps(SFIm + 268, _mm_sub_ps(mR, _mm_load_ps(SFRe + 264)));
	_mm_store_ps(SFRe + 264, _mm_add_ps(_mm_load_ps(SFRe + 264), mR));
	_mm_store_ps(SFIm + 264, _mm_add_ps(_mm_load_ps(SFIm + 264), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 264));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 264));
	_mm_store_ps(SFRe + 264, _mm_sub_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 264)));
	_mm_store_ps(SFIm + 264, _mm_sub_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 264)));
	_mm_store_ps(SFRe + 256, mR);
	_mm_store_ps(SFIm + 256, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 268));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 268));
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 268)));
	_mm_store_ps(SFIm + 268, _mm_sub_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 268)));
	_mm_store_ps(SFRe + 260, mR);
	_mm_store_ps(SFIm + 260, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 272);
	mI = _mm_load_ps(SFIm + 272);
	_mm_store_ps(SFRe + 272, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 272, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 280);
	mI = _mm_load_ps(SFIm + 280);
	_mm_store_ps(SFRe + 280, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 280, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 280);
	mI = _mm_load_ps(SFIm + 280);
	_mm_store_ps(SFRe + 280, _mm_sub_ps(_mm_load_ps(SFIm + 272), mI));
	_mm_store_ps(SFIm + 280, _mm_sub_ps(mR, _mm_load_ps(SFRe + 272)));
	_mm_store_ps(SFRe + 272, _mm_add_ps(_mm_load_ps(SFRe + 272), mR));
	_mm_store_ps(SFIm + 272, _mm_add_ps(_mm_load_ps(SFIm + 272), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 276);
	mI = _mm_load_ps(SFIm + 276);
	_mm_store_ps(SFRe + 276, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 276, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 284);
	mI = _mm_load_ps(SFIm + 284);
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 284, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 284);
	mI = _mm_load_ps(SFIm + 284);
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_load_ps(SFIm + 276), mI));
	_mm_store_ps(SFIm + 284, _mm_sub_ps(mR, _mm_load_ps(SFRe + 276)));
	_mm_store_ps(SFRe + 276, _mm_add_ps(_mm_load_ps(SFRe + 276), mR));
	_mm_store_ps(SFIm + 276, _mm_add_ps(_mm_load_ps(SFIm + 276), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 272));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 272));
	_mm_store_ps(SFRe + 272, _mm_sub_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 272)));
	_mm_store_ps(SFIm + 272, _mm_sub_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 272)));
	_mm_store_ps(SFRe + 256, mR);
	_mm_store_ps(SFIm + 256, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 276));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 276));
	_mm_store_ps(SFRe + 276, _mm_sub_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 276)));
	_mm_store_ps(SFIm + 276, _mm_sub_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 276)));
	_mm_store_ps(SFRe + 260, mR);
	_mm_store_ps(SFIm + 260, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 264), _mm_load_ps(SFRe + 280));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 264), _mm_load_ps(SFIm + 280));
	_mm_store_ps(SFRe + 280, _mm_sub_ps(_mm_load_ps(SFRe + 264), _mm_load_ps(SFRe + 280)));
	_mm_store_ps(SFIm + 280, _mm_sub_ps(_mm_load_ps(SFIm + 264), _mm_load_ps(SFIm + 280)));
	_mm_store_ps(SFRe + 264, mR);
	_mm_store_ps(SFIm + 264, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 268), _mm_load_ps(SFRe + 284));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 268), _mm_load_ps(SFIm + 284));
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_load_ps(SFRe + 268), _mm_load_ps(SFRe + 284)));
	_mm_store_ps(SFIm + 284, _mm_sub_ps(_mm_load_ps(SFIm + 268), _mm_load_ps(SFIm + 284)));
	_mm_store_ps(SFRe + 268, mR);
	_mm_store_ps(SFIm + 268, mI);
	mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
	mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
	mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
	mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
	mR = _mm_load_ps(SFRe + 288);
	mI = _mm_load_ps(SFIm + 288);
	_mm_store_ps(SFRe + 288, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 288, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 304);
	mI = _mm_load_ps(SFIm + 304);
	_mm_store_ps(SFRe + 304, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 304, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 304);
	mI = _mm_load_ps(SFIm + 304);
	_mm_store_ps(SFRe + 304, _mm_sub_ps(_mm_load_ps(SFIm + 288), mI));
	_mm_store_ps(SFIm + 304, _mm_sub_ps(mR, _mm_load_ps(SFRe + 288)));
	_mm_store_ps(SFRe + 288, _mm_add_ps(_mm_load_ps(SFRe + 288), mR));
	_mm_store_ps(SFIm + 288, _mm_add_ps(_mm_load_ps(SFIm + 288), mI));
	mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
	mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
	mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
	mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
	mR = _mm_load_ps(SFRe + 292);
	mI = _mm_load_ps(SFIm + 292);
	_mm_store_ps(SFRe + 292, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 292, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 308);
	mI = _mm_load_ps(SFIm + 308);
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 308, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 308);
	mI = _mm_load_ps(SFIm + 308);
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_load_ps(SFIm + 292), mI));
	_mm_store_ps(SFIm + 308, _mm_sub_ps(mR, _mm_load_ps(SFRe + 292)));
	_mm_store_ps(SFRe + 292, _mm_add_ps(_mm_load_ps(SFRe + 292), mR));
	_mm_store_ps(SFIm + 292, _mm_add_ps(_mm_load_ps(SFIm + 292), mI));
	mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
	mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
	mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
	mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
	mR = _mm_load_ps(SFRe + 296);
	mI = _mm_load_ps(SFIm + 296);
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 312);
	mI = _mm_load_ps(SFIm + 312);
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 312);
	mI = _mm_load_ps(SFIm + 312);
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_load_ps(SFIm + 296), mI));
	_mm_store_ps(SFIm + 312, _mm_sub_ps(mR, _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFRe + 296, _mm_add_ps(_mm_load_ps(SFRe + 296), mR));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_load_ps(SFIm + 296), mI));
	mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
	mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
	mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
	mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
	mR = _mm_load_ps(SFRe + 300);
	mI = _mm_load_ps(SFIm + 300);
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 300, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 316, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_load_ps(SFIm + 300), mI));
	_mm_store_ps(SFIm + 316, _mm_sub_ps(mR, _mm_load_ps(SFRe + 300)));
	_mm_store_ps(SFRe + 300, _mm_add_ps(_mm_load_ps(SFRe + 300), mR));
	_mm_store_ps(SFIm + 300, _mm_add_ps(_mm_load_ps(SFIm + 300), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 288));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 288));
	_mm_store_ps(SFRe + 288, _mm_sub_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 288)));
	_mm_store_ps(SFIm + 288, _mm_sub_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 288)));
	_mm_store_ps(SFRe + 256, mR);
	_mm_store_ps(SFIm + 256, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 292));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 292));
	_mm_store_ps(SFRe + 292, _mm_sub_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 292)));
	_mm_store_ps(SFIm + 292, _mm_sub_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 292)));
	_mm_store_ps(SFRe + 260, mR);
	_mm_store_ps(SFIm + 260, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 264), _mm_load_ps(SFRe + 296));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 264), _mm_load_ps(SFIm + 296));
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_load_ps(SFRe + 264), _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFIm + 296, _mm_sub_ps(_mm_load_ps(SFIm + 264), _mm_load_ps(SFIm + 296)));
	_mm_store_ps(SFRe + 264, mR);
	_mm_store_ps(SFIm + 264, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 268), _mm_load_ps(SFRe + 300));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 268), _mm_load_ps(SFIm + 300));
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_load_ps(SFRe + 268), _mm_load_ps(SFRe + 300)));
	_mm_store_ps(SFIm + 300, _mm_sub_ps(_mm_load_ps(SFIm + 268), _mm_load_ps(SFIm + 300)));
	_mm_store_ps(SFRe + 268, mR);
	_mm_store_ps(SFIm + 268, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 304));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 304));
	_mm_store_ps(SFRe + 304, _mm_sub_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 304)));
	_mm_store_ps(SFIm + 304, _mm_sub_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 304)));
	_mm_store_ps(SFRe + 272, mR);
	_mm_store_ps(SFIm + 272, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 276), _mm_load_ps(SFRe + 308));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 276), _mm_load_ps(SFIm + 308));
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_load_ps(SFRe + 276), _mm_load_ps(SFRe + 308)));
	_mm_store_ps(SFIm + 308, _mm_sub_ps(_mm_load_ps(SFIm + 276), _mm_load_ps(SFIm + 308)));
	_mm_store_ps(SFRe + 276, mR);
	_mm_store_ps(SFIm + 276, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 312));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 312));
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 312)));
	_mm_store_ps(SFIm + 312, _mm_sub_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 312)));
	_mm_store_ps(SFRe + 280, mR);
	_mm_store_ps(SFIm + 280, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 284), _mm_load_ps(SFRe + 316));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 284), _mm_load_ps(SFIm + 316));
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_load_ps(SFRe + 284), _mm_load_ps(SFRe + 316)));
	_mm_store_ps(SFIm + 316, _mm_sub_ps(_mm_load_ps(SFIm + 284), _mm_load_ps(SFIm + 316)));
	_mm_store_ps(SFRe + 284, mR);
	_mm_store_ps(SFIm + 284, mI);
	mRF1 = _mm_set_ps(0.989178, 0.995187, 0.998797, 1.000000);
	mIF1 = _mm_set_ps(-0.146720, -0.097994, -0.049031, -0.000000);
	mRF2 = _mm_set_ps(0.904002, 0.956946, 0.989178, 1.000000);
	mIF2 = _mm_set_ps(-0.427528, -0.290265, -0.146720, -0.000000);
	mR = _mm_load_ps(SFRe + 320);
	mI = _mm_load_ps(SFIm + 320);
	_mm_store_ps(SFRe + 320, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 320, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 352);
	mI = _mm_load_ps(SFIm + 352);
	_mm_store_ps(SFRe + 352, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 352, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 352);
	mI = _mm_load_ps(SFIm + 352);
	_mm_store_ps(SFRe + 352, _mm_sub_ps(_mm_load_ps(SFIm + 320), mI));
	_mm_store_ps(SFIm + 352, _mm_sub_ps(mR, _mm_load_ps(SFRe + 320)));
	_mm_store_ps(SFRe + 320, _mm_add_ps(_mm_load_ps(SFRe + 320), mR));
	_mm_store_ps(SFIm + 320, _mm_add_ps(_mm_load_ps(SFIm + 320), mI));
	mRF1 = _mm_set_ps(0.941546, 0.956946, 0.970039, 0.980794);
	mIF1 = _mm_set_ps(-0.336883, -0.290265, -0.242948, -0.195044);
	mRF2 = _mm_set_ps(0.514121, 0.634402, 0.740952, 0.831492);
	mIF2 = _mm_set_ps(-0.857718, -0.773004, -0.671558, -0.555536);
	mR = _mm_load_ps(SFRe + 324);
	mI = _mm_load_ps(SFIm + 324);
	_mm_store_ps(SFRe + 324, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 324, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 356);
	mI = _mm_load_ps(SFIm + 356);
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 356, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 356);
	mI = _mm_load_ps(SFIm + 356);
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_load_ps(SFIm + 324), mI));
	_mm_store_ps(SFIm + 356, _mm_sub_ps(mR, _mm_load_ps(SFRe + 324)));
	_mm_store_ps(SFRe + 324, _mm_add_ps(_mm_load_ps(SFRe + 324), mR));
	_mm_store_ps(SFIm + 324, _mm_add_ps(_mm_load_ps(SFIm + 324), mI));
	mRF1 = _mm_set_ps(0.857731, 0.881929, 0.904002, 0.923896);
	mIF1 = _mm_set_ps(-0.514099, -0.471382, -0.427528, -0.382643);
	mRF2 = _mm_set_ps(-0.049056, 0.098019, 0.242972, 0.382712);
	mIF2 = _mm_set_ps(-0.998796, -0.995185, -0.970033, -0.923868);
	mR = _mm_load_ps(SFRe + 328);
	mI = _mm_load_ps(SFIm + 328);
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 360);
	mI = _mm_load_ps(SFIm + 360);
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 360);
	mI = _mm_load_ps(SFIm + 360);
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_load_ps(SFIm + 328), mI));
	_mm_store_ps(SFIm + 360, _mm_sub_ps(mR, _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFRe + 328, _mm_add_ps(_mm_load_ps(SFRe + 328), mR));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_load_ps(SFIm + 328), mI));
	mRF1 = _mm_set_ps(0.740952, 0.773019, 0.803224, 0.831492);
	mIF1 = _mm_set_ps(-0.671558, -0.634382, -0.595677, -0.555536);
	mRF2 = _mm_set_ps(-0.595697, -0.471404, -0.336907, -0.195069);
	mIF2 = _mm_set_ps(-0.803209, -0.881918, -0.941538, -0.980790);
	mR = _mm_load_ps(SFRe + 332);
	mI = _mm_load_ps(SFIm + 332);
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 332, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 364, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_load_ps(SFIm + 332), mI));
	_mm_store_ps(SFIm + 364, _mm_sub_ps(mR, _mm_load_ps(SFRe + 332)));
	_mm_store_ps(SFRe + 332, _mm_add_ps(_mm_load_ps(SFRe + 332), mR));
	_mm_store_ps(SFIm + 332, _mm_add_ps(_mm_load_ps(SFIm + 332), mI));
	mRF1 = _mm_set_ps(0.595697, 0.634402, 0.671577, 0.707133);
	mIF1 = _mm_set_ps(-0.803209, -0.773004, -0.740935, -0.707080);
	mRF2 = _mm_set_ps(-0.941546, -0.881929, -0.803224, -0.707098);
	mIF2 = _mm_set_ps(-0.336883, -0.471382, -0.595677, -0.707116);
	mR = _mm_load_ps(SFRe + 336);
	mI = _mm_load_ps(SFIm + 336);
	_mm_store_ps(SFRe + 336, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 336, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 368);
	mI = _mm_load_ps(SFIm + 368);
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 368, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 368);
	mI = _mm_load_ps(SFIm + 368);
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_load_ps(SFIm + 336), mI));
	_mm_store_ps(SFIm + 368, _mm_sub_ps(mR, _mm_load_ps(SFRe + 336)));
	_mm_store_ps(SFRe + 336, _mm_add_ps(_mm_load_ps(SFRe + 336), mR));
	_mm_store_ps(SFIm + 336, _mm_add_ps(_mm_load_ps(SFIm + 336), mI));
	mRF1 = _mm_set_ps(0.427550, 0.471404, 0.514121, 0.555599);
	mIF1 = _mm_set_ps(-0.903992, -0.881918, -0.857718, -0.831451);
	mRF2 = _mm_set_ps(-0.970039, -0.995187, -0.998797, -0.980785);
	mIF2 = _mm_set_ps(0.242948, 0.097994, -0.049031, -0.195093);
	mR = _mm_load_ps(SFRe + 340);
	mI = _mm_load_ps(SFIm + 340);
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 340, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 372);
	mI = _mm_load_ps(SFIm + 372);
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 372, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 372);
	mI = _mm_load_ps(SFIm + 372);
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_load_ps(SFIm + 340), mI));
	_mm_store_ps(SFIm + 372, _mm_sub_ps(mR, _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFRe + 340, _mm_add_ps(_mm_load_ps(SFRe + 340), mR));
	_mm_store_ps(SFIm + 340, _mm_add_ps(_mm_load_ps(SFIm + 340), mI));
	mRF1 = _mm_set_ps(0.242972, 0.290289, 0.336907, 0.382712);
	mIF1 = _mm_set_ps(-0.970033, -0.956939, -0.941538, -0.923868);
	mRF2 = _mm_set_ps(-0.671577, -0.773019, -0.857731, -0.923896);
	mIF2 = _mm_set_ps(0.740935, 0.634382, 0.514099, 0.382643);
	mR = _mm_load_ps(SFRe + 344);
	mI = _mm_load_ps(SFIm + 344);
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 344, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 376);
	mI = _mm_load_ps(SFIm + 376);
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 376, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 376);
	mI = _mm_load_ps(SFIm + 376);
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_load_ps(SFIm + 344), mI));
	_mm_store_ps(SFIm + 376, _mm_sub_ps(mR, _mm_load_ps(SFRe + 344)));
	_mm_store_ps(SFRe + 344, _mm_add_ps(_mm_load_ps(SFRe + 344), mR));
	_mm_store_ps(SFIm + 344, _mm_add_ps(_mm_load_ps(SFIm + 344), mI));
	mRF1 = _mm_set_ps(0.049056, 0.098019, 0.146745, 0.195118);
	mIF1 = _mm_set_ps(-0.998796, -0.995185, -0.989174, -0.980780);
	mRF2 = _mm_set_ps(-0.146745, -0.290289, -0.427550, -0.555599);
	mIF2 = _mm_set_ps(0.989174, 0.956939, 0.903992, 0.831451);
	mR = _mm_load_ps(SFRe + 348);
	mI = _mm_load_ps(SFIm + 348);
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 348, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 380);
	mI = _mm_load_ps(SFIm + 380);
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 380, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 380);
	mI = _mm_load_ps(SFIm + 380);
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFIm + 348), mI));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(mR, _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFRe + 348, _mm_add_ps(_mm_load_ps(SFRe + 348), mR));
	_mm_store_ps(SFIm + 348, _mm_add_ps(_mm_load_ps(SFIm + 348), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 320));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 320));
	_mm_store_ps(SFRe + 320, _mm_sub_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 320)));
	_mm_store_ps(SFIm + 320, _mm_sub_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 320)));
	_mm_store_ps(SFRe + 256, mR);
	_mm_store_ps(SFIm + 256, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 324));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 324));
	_mm_store_ps(SFRe + 324, _mm_sub_ps(_mm_load_ps(SFRe + 260), _mm_load_ps(SFRe + 324)));
	_mm_store_ps(SFIm + 324, _mm_sub_ps(_mm_load_ps(SFIm + 260), _mm_load_ps(SFIm + 324)));
	_mm_store_ps(SFRe + 260, mR);
	_mm_store_ps(SFIm + 260, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 264), _mm_load_ps(SFRe + 328));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 264), _mm_load_ps(SFIm + 328));
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_load_ps(SFRe + 264), _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFIm + 328, _mm_sub_ps(_mm_load_ps(SFIm + 264), _mm_load_ps(SFIm + 328)));
	_mm_store_ps(SFRe + 264, mR);
	_mm_store_ps(SFIm + 264, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 268), _mm_load_ps(SFRe + 332));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 268), _mm_load_ps(SFIm + 332));
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_load_ps(SFRe + 268), _mm_load_ps(SFRe + 332)));
	_mm_store_ps(SFIm + 332, _mm_sub_ps(_mm_load_ps(SFIm + 268), _mm_load_ps(SFIm + 332)));
	_mm_store_ps(SFRe + 268, mR);
	_mm_store_ps(SFIm + 268, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 336));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 336));
	_mm_store_ps(SFRe + 336, _mm_sub_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 336)));
	_mm_store_ps(SFIm + 336, _mm_sub_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 336)));
	_mm_store_ps(SFRe + 272, mR);
	_mm_store_ps(SFIm + 272, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 276), _mm_load_ps(SFRe + 340));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 276), _mm_load_ps(SFIm + 340));
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_load_ps(SFRe + 276), _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFIm + 340, _mm_sub_ps(_mm_load_ps(SFIm + 276), _mm_load_ps(SFIm + 340)));
	_mm_store_ps(SFRe + 276, mR);
	_mm_store_ps(SFIm + 276, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 344));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 344));
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 344)));
	_mm_store_ps(SFIm + 344, _mm_sub_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 344)));
	_mm_store_ps(SFRe + 280, mR);
	_mm_store_ps(SFIm + 280, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 284), _mm_load_ps(SFRe + 348));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 284), _mm_load_ps(SFIm + 348));
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_load_ps(SFRe + 284), _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFIm + 348, _mm_sub_ps(_mm_load_ps(SFIm + 284), _mm_load_ps(SFIm + 348)));
	_mm_store_ps(SFRe + 284, mR);
	_mm_store_ps(SFIm + 284, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 352));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 352));
	_mm_store_ps(SFRe + 352, _mm_sub_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 352)));
	_mm_store_ps(SFIm + 352, _mm_sub_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 352)));
	_mm_store_ps(SFRe + 288, mR);
	_mm_store_ps(SFIm + 288, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 292), _mm_load_ps(SFRe + 356));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 292), _mm_load_ps(SFIm + 356));
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_load_ps(SFRe + 292), _mm_load_ps(SFRe + 356)));
	_mm_store_ps(SFIm + 356, _mm_sub_ps(_mm_load_ps(SFIm + 292), _mm_load_ps(SFIm + 356)));
	_mm_store_ps(SFRe + 292, mR);
	_mm_store_ps(SFIm + 292, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 296), _mm_load_ps(SFRe + 360));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 296), _mm_load_ps(SFIm + 360));
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_load_ps(SFRe + 296), _mm_load_ps(SFRe + 360)));
	_mm_store_ps(SFIm + 360, _mm_sub_ps(_mm_load_ps(SFIm + 296), _mm_load_ps(SFIm + 360)));
	_mm_store_ps(SFRe + 296, mR);
	_mm_store_ps(SFIm + 296, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 300), _mm_load_ps(SFRe + 364));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 300), _mm_load_ps(SFIm + 364));
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_load_ps(SFRe + 300), _mm_load_ps(SFRe + 364)));
	_mm_store_ps(SFIm + 364, _mm_sub_ps(_mm_load_ps(SFIm + 300), _mm_load_ps(SFIm + 364)));
	_mm_store_ps(SFRe + 300, mR);
	_mm_store_ps(SFIm + 300, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 368));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 368));
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 368)));
	_mm_store_ps(SFIm + 368, _mm_sub_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 368)));
	_mm_store_ps(SFRe + 304, mR);
	_mm_store_ps(SFIm + 304, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 308), _mm_load_ps(SFRe + 372));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 308), _mm_load_ps(SFIm + 372));
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_load_ps(SFRe + 308), _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFIm + 372, _mm_sub_ps(_mm_load_ps(SFIm + 308), _mm_load_ps(SFIm + 372)));
	_mm_store_ps(SFRe + 308, mR);
	_mm_store_ps(SFIm + 308, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 312), _mm_load_ps(SFRe + 376));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 312), _mm_load_ps(SFIm + 376));
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_load_ps(SFRe + 312), _mm_load_ps(SFRe + 376)));
	_mm_store_ps(SFIm + 376, _mm_sub_ps(_mm_load_ps(SFIm + 312), _mm_load_ps(SFIm + 376)));
	_mm_store_ps(SFRe + 312, mR);
	_mm_store_ps(SFIm + 312, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 316), _mm_load_ps(SFRe + 380));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 316), _mm_load_ps(SFIm + 380));
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFRe + 316), _mm_load_ps(SFRe + 380)));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(_mm_load_ps(SFIm + 316), _mm_load_ps(SFIm + 380)));
	_mm_store_ps(SFRe + 316, mR);
	_mm_store_ps(SFIm + 316, mI);
	Re0 = SFRe[252]; Im0 = SFIm[252];
	Re1 = SFRe[253]; Im1 = SFIm[253];
	Re2 = SFRe[254]; Im2 = SFIm[254];
	Re3 = SFRe[255]; Im3 = SFIm[255];
	SFRe[252] = Re0 + Re1; SFIm[252] = Im0 + Im1;
	SFRe[253] = Re0 - Re1; SFIm[253] = Im0 - Im1;
	SFRe[254] = Re2 + Re3; SFIm[254] = Im2 + Im3;
	SFRe[255] = Im2 - Im3; SFIm[255] = Re3 - Re2;
	RA = SFRe[252] + SFRe[254];
	IA = SFIm[252] + SFIm[254];
	SFRe[254] = SFRe[252] - SFRe[254];
	SFIm[254] = SFIm[252] - SFIm[254];
	SFRe[252] = RA;
	SFIm[252] = IA;
	RA = SFRe[253] + SFRe[255];
	IA = SFIm[253] + SFIm[255];
	SFRe[255] = SFRe[253] - SFRe[255];
	SFIm[255] = SFIm[253] - SFIm[255];
	SFRe[253] = RA;
	SFIm[253] = IA;
	Re0 = SFRe[248]; Im0 = SFIm[248];
	Re1 = SFRe[249]; Im1 = SFIm[249];
	Re2 = SFRe[250]; Im2 = SFIm[250];
	Re3 = SFRe[251]; Im3 = SFIm[251];
	SFRe[248] = Re0 + Re1; SFIm[248] = Im0 + Im1;
	SFRe[249] = Re0 - Re1; SFIm[249] = Im0 - Im1;
	SFRe[250] = Re2 + Re3; SFIm[250] = Im2 + Im3;
	SFRe[251] = Im2 - Im3; SFIm[251] = Re3 - Re2;
	RA = SFRe[248] + SFRe[250];
	IA = SFIm[248] + SFIm[250];
	SFRe[250] = SFRe[248] - SFRe[250];
	SFIm[250] = SFIm[248] - SFIm[250];
	SFRe[248] = RA;
	SFIm[248] = IA;
	RA = SFRe[249] + SFRe[251];
	IA = SFIm[249] + SFIm[251];
	SFRe[251] = SFRe[249] - SFRe[251];
	SFIm[251] = SFIm[249] - SFIm[251];
	SFRe[249] = RA;
	SFIm[249] = IA;
	R = SFRe[246] + SFRe[247];
	I = SFIm[246] + SFIm[247];
	SFRe[247] = SFRe[246] - SFRe[247];
	SFIm[247] = SFIm[246] - SFIm[247];
	SFRe[246] = R;
	SFIm[246] = I;
	R = SFRe[244] + SFRe[245];
	I = SFIm[244] + SFIm[245];
	SFRe[245] = SFRe[244] - SFRe[245];
	SFIm[245] = SFIm[244] - SFIm[245];
	SFRe[244] = R;
	SFIm[244] = I;
	Re0 = SFRe[240]; Im0 = SFIm[240];
	Re1 = SFRe[241]; Im1 = SFIm[241];
	Re2 = SFRe[242]; Im2 = SFIm[242];
	Re3 = SFRe[243]; Im3 = SFIm[243];
	SFRe[240] = Re0 + Re1; SFIm[240] = Im0 + Im1;
	SFRe[241] = Re0 - Re1; SFIm[241] = Im0 - Im1;
	SFRe[242] = Re2 + Re3; SFIm[242] = Im2 + Im3;
	SFRe[243] = Im2 - Im3; SFIm[243] = Re3 - Re2;
	RA = SFRe[240] + SFRe[242];
	IA = SFIm[240] + SFIm[242];
	SFRe[242] = SFRe[240] - SFRe[242];
	SFIm[242] = SFIm[240] - SFIm[242];
	SFRe[240] = RA;
	SFIm[240] = IA;
	RA = SFRe[241] + SFRe[243];
	IA = SFIm[241] + SFIm[243];
	SFRe[243] = SFRe[241] - SFRe[243];
	SFIm[243] = SFIm[241] - SFIm[243];
	SFRe[241] = RA;
	SFIm[241] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[244];
	I = SFIm[244];
	SFRe[244] = R * RF1 - I * IF1;
	SFIm[244] = R * IF1 + I * RF1;
	R = SFRe[246];
	I = SFIm[246];
	SFRe[246] = R * RF2 - I * IF2;
	SFIm[246] = R * IF2 + I * RF2;
	R = SFRe[246];
	I = SFIm[246];
	SFRe[246] = SFIm[244] - I;
	SFIm[246] = R - SFRe[244];
	SFRe[244] += R;
	SFIm[244] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[245];
	I = SFIm[245];
	SFRe[245] = R * RF1 - I * IF1;
	SFIm[245] = R * IF1 + I * RF1;
	R = SFRe[247];
	I = SFIm[247];
	SFRe[247] = R * RF2 - I * IF2;
	SFIm[247] = R * IF2 + I * RF2;
	R = SFRe[247];
	I = SFIm[247];
	SFRe[247] = SFIm[245] - I;
	SFIm[247] = R - SFRe[245];
	SFRe[245] += R;
	SFIm[245] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244));
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244)));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244)));
	_mm_store_ps(SFRe + 240, mR);
	_mm_store_ps(SFIm + 240, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 248), mI));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 248)));
	_mm_store_ps(SFRe + 248, _mm_add_ps(_mm_load_ps(SFRe + 248), mR));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_load_ps(SFIm + 248), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 248));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 248));
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 248)));
	_mm_store_ps(SFIm + 248, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 248)));
	_mm_store_ps(SFRe + 240, mR);
	_mm_store_ps(SFIm + 240, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 244), _mm_load_ps(SFRe + 252));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 244), _mm_load_ps(SFIm + 252));
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFRe + 244), _mm_load_ps(SFRe + 252)));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(_mm_load_ps(SFIm + 244), _mm_load_ps(SFIm + 252)));
	_mm_store_ps(SFRe + 244, mR);
	_mm_store_ps(SFIm + 244, mI);
	Re0 = SFRe[236]; Im0 = SFIm[236];
	Re1 = SFRe[237]; Im1 = SFIm[237];
	Re2 = SFRe[238]; Im2 = SFIm[238];
	Re3 = SFRe[239]; Im3 = SFIm[239];
	SFRe[236] = Re0 + Re1; SFIm[236] = Im0 + Im1;
	SFRe[237] = Re0 - Re1; SFIm[237] = Im0 - Im1;
	SFRe[238] = Re2 + Re3; SFIm[238] = Im2 + Im3;
	SFRe[239] = Im2 - Im3; SFIm[239] = Re3 - Re2;
	RA = SFRe[236] + SFRe[238];
	IA = SFIm[236] + SFIm[238];
	SFRe[238] = SFRe[236] - SFRe[238];
	SFIm[238] = SFIm[236] - SFIm[238];
	SFRe[236] = RA;
	SFIm[236] = IA;
	RA = SFRe[237] + SFRe[239];
	IA = SFIm[237] + SFIm[239];
	SFRe[239] = SFRe[237] - SFRe[239];
	SFIm[239] = SFIm[237] - SFIm[239];
	SFRe[237] = RA;
	SFIm[237] = IA;
	Re0 = SFRe[232]; Im0 = SFIm[232];
	Re1 = SFRe[233]; Im1 = SFIm[233];
	Re2 = SFRe[234]; Im2 = SFIm[234];
	Re3 = SFRe[235]; Im3 = SFIm[235];
	SFRe[232] = Re0 + Re1; SFIm[232] = Im0 + Im1;
	SFRe[233] = Re0 - Re1; SFIm[233] = Im0 - Im1;
	SFRe[234] = Re2 + Re3; SFIm[234] = Im2 + Im3;
	SFRe[235] = Im2 - Im3; SFIm[235] = Re3 - Re2;
	RA = SFRe[232] + SFRe[234];
	IA = SFIm[232] + SFIm[234];
	SFRe[234] = SFRe[232] - SFRe[234];
	SFIm[234] = SFIm[232] - SFIm[234];
	SFRe[232] = RA;
	SFIm[232] = IA;
	RA = SFRe[233] + SFRe[235];
	IA = SFIm[233] + SFIm[235];
	SFRe[235] = SFRe[233] - SFRe[235];
	SFIm[235] = SFIm[233] - SFIm[235];
	SFRe[233] = RA;
	SFIm[233] = IA;
	R = SFRe[230] + SFRe[231];
	I = SFIm[230] + SFIm[231];
	SFRe[231] = SFRe[230] - SFRe[231];
	SFIm[231] = SFIm[230] - SFIm[231];
	SFRe[230] = R;
	SFIm[230] = I;
	R = SFRe[228] + SFRe[229];
	I = SFIm[228] + SFIm[229];
	SFRe[229] = SFRe[228] - SFRe[229];
	SFIm[229] = SFIm[228] - SFIm[229];
	SFRe[228] = R;
	SFIm[228] = I;
	Re0 = SFRe[224]; Im0 = SFIm[224];
	Re1 = SFRe[225]; Im1 = SFIm[225];
	Re2 = SFRe[226]; Im2 = SFIm[226];
	Re3 = SFRe[227]; Im3 = SFIm[227];
	SFRe[224] = Re0 + Re1; SFIm[224] = Im0 + Im1;
	SFRe[225] = Re0 - Re1; SFIm[225] = Im0 - Im1;
	SFRe[226] = Re2 + Re3; SFIm[226] = Im2 + Im3;
	SFRe[227] = Im2 - Im3; SFIm[227] = Re3 - Re2;
	RA = SFRe[224] + SFRe[226];
	IA = SFIm[224] + SFIm[226];
	SFRe[226] = SFRe[224] - SFRe[226];
	SFIm[226] = SFIm[224] - SFIm[226];
	SFRe[224] = RA;
	SFIm[224] = IA;
	RA = SFRe[225] + SFRe[227];
	IA = SFIm[225] + SFIm[227];
	SFRe[227] = SFRe[225] - SFRe[227];
	SFIm[227] = SFIm[225] - SFIm[227];
	SFRe[225] = RA;
	SFIm[225] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[228];
	I = SFIm[228];
	SFRe[228] = R * RF1 - I * IF1;
	SFIm[228] = R * IF1 + I * RF1;
	R = SFRe[230];
	I = SFIm[230];
	SFRe[230] = R * RF2 - I * IF2;
	SFIm[230] = R * IF2 + I * RF2;
	R = SFRe[230];
	I = SFIm[230];
	SFRe[230] = SFIm[228] - I;
	SFIm[230] = R - SFRe[228];
	SFRe[228] += R;
	SFIm[228] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[229];
	I = SFIm[229];
	SFRe[229] = R * RF1 - I * IF1;
	SFIm[229] = R * IF1 + I * RF1;
	R = SFRe[231];
	I = SFIm[231];
	SFRe[231] = R * RF2 - I * IF2;
	SFIm[231] = R * IF2 + I * RF2;
	R = SFRe[231];
	I = SFIm[231];
	SFRe[231] = SFIm[229] - I;
	SFIm[231] = R - SFRe[229];
	SFRe[229] += R;
	SFIm[229] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228));
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228)));
	_mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228)));
	_mm_store_ps(SFRe + 224, mR);
	_mm_store_ps(SFIm + 224, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 232);
	mI = _mm_load_ps(SFIm + 232);
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFIm + 232), mI));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(mR, _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFRe + 232, _mm_add_ps(_mm_load_ps(SFRe + 232), mR));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_load_ps(SFIm + 232), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 232));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 232));
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFIm + 232, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 232)));
	_mm_store_ps(SFRe + 224, mR);
	_mm_store_ps(SFIm + 224, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 228), _mm_load_ps(SFRe + 236));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 228), _mm_load_ps(SFIm + 236));
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFRe + 228), _mm_load_ps(SFRe + 236)));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(_mm_load_ps(SFIm + 228), _mm_load_ps(SFIm + 236)));
	_mm_store_ps(SFRe + 228, mR);
	_mm_store_ps(SFIm + 228, mI);
	R = SFRe[222] + SFRe[223];
	I = SFIm[222] + SFIm[223];
	SFRe[223] = SFRe[222] - SFRe[223];
	SFIm[223] = SFIm[222] - SFIm[223];
	SFRe[222] = R;
	SFIm[222] = I;
	R = SFRe[220] + SFRe[221];
	I = SFIm[220] + SFIm[221];
	SFRe[221] = SFRe[220] - SFRe[221];
	SFIm[221] = SFIm[220] - SFIm[221];
	SFRe[220] = R;
	SFIm[220] = I;
	Re0 = SFRe[216]; Im0 = SFIm[216];
	Re1 = SFRe[217]; Im1 = SFIm[217];
	Re2 = SFRe[218]; Im2 = SFIm[218];
	Re3 = SFRe[219]; Im3 = SFIm[219];
	SFRe[216] = Re0 + Re1; SFIm[216] = Im0 + Im1;
	SFRe[217] = Re0 - Re1; SFIm[217] = Im0 - Im1;
	SFRe[218] = Re2 + Re3; SFIm[218] = Im2 + Im3;
	SFRe[219] = Im2 - Im3; SFIm[219] = Re3 - Re2;
	RA = SFRe[216] + SFRe[218];
	IA = SFIm[216] + SFIm[218];
	SFRe[218] = SFRe[216] - SFRe[218];
	SFIm[218] = SFIm[216] - SFIm[218];
	SFRe[216] = RA;
	SFIm[216] = IA;
	RA = SFRe[217] + SFRe[219];
	IA = SFIm[217] + SFIm[219];
	SFRe[219] = SFRe[217] - SFRe[219];
	SFIm[219] = SFIm[217] - SFIm[219];
	SFRe[217] = RA;
	SFIm[217] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[220];
	I = SFIm[220];
	SFRe[220] = R * RF1 - I * IF1;
	SFIm[220] = R * IF1 + I * RF1;
	R = SFRe[222];
	I = SFIm[222];
	SFRe[222] = R * RF2 - I * IF2;
	SFIm[222] = R * IF2 + I * RF2;
	R = SFRe[222];
	I = SFIm[222];
	SFRe[222] = SFIm[220] - I;
	SFIm[222] = R - SFRe[220];
	SFRe[220] += R;
	SFIm[220] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[221];
	I = SFIm[221];
	SFRe[221] = R * RF1 - I * IF1;
	SFIm[221] = R * IF1 + I * RF1;
	R = SFRe[223];
	I = SFIm[223];
	SFRe[223] = R * RF2 - I * IF2;
	SFIm[223] = R * IF2 + I * RF2;
	R = SFRe[223];
	I = SFIm[223];
	SFRe[223] = SFIm[221] - I;
	SFIm[223] = R - SFRe[221];
	SFRe[221] += R;
	SFIm[221] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220));
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220)));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220)));
	_mm_store_ps(SFRe + 216, mR);
	_mm_store_ps(SFIm + 216, mI);
	R = SFRe[214] + SFRe[215];
	I = SFIm[214] + SFIm[215];
	SFRe[215] = SFRe[214] - SFRe[215];
	SFIm[215] = SFIm[214] - SFIm[215];
	SFRe[214] = R;
	SFIm[214] = I;
	R = SFRe[212] + SFRe[213];
	I = SFIm[212] + SFIm[213];
	SFRe[213] = SFRe[212] - SFRe[213];
	SFIm[213] = SFIm[212] - SFIm[213];
	SFRe[212] = R;
	SFIm[212] = I;
	Re0 = SFRe[208]; Im0 = SFIm[208];
	Re1 = SFRe[209]; Im1 = SFIm[209];
	Re2 = SFRe[210]; Im2 = SFIm[210];
	Re3 = SFRe[211]; Im3 = SFIm[211];
	SFRe[208] = Re0 + Re1; SFIm[208] = Im0 + Im1;
	SFRe[209] = Re0 - Re1; SFIm[209] = Im0 - Im1;
	SFRe[210] = Re2 + Re3; SFIm[210] = Im2 + Im3;
	SFRe[211] = Im2 - Im3; SFIm[211] = Re3 - Re2;
	RA = SFRe[208] + SFRe[210];
	IA = SFIm[208] + SFIm[210];
	SFRe[210] = SFRe[208] - SFRe[210];
	SFIm[210] = SFIm[208] - SFIm[210];
	SFRe[208] = RA;
	SFIm[208] = IA;
	RA = SFRe[209] + SFRe[211];
	IA = SFIm[209] + SFIm[211];
	SFRe[211] = SFRe[209] - SFRe[211];
	SFIm[211] = SFIm[209] - SFIm[211];
	SFRe[209] = RA;
	SFIm[209] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[212];
	I = SFIm[212];
	SFRe[212] = R * RF1 - I * IF1;
	SFIm[212] = R * IF1 + I * RF1;
	R = SFRe[214];
	I = SFIm[214];
	SFRe[214] = R * RF2 - I * IF2;
	SFIm[214] = R * IF2 + I * RF2;
	R = SFRe[214];
	I = SFIm[214];
	SFRe[214] = SFIm[212] - I;
	SFIm[214] = R - SFRe[212];
	SFRe[212] += R;
	SFIm[212] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[213];
	I = SFIm[213];
	SFRe[213] = R * RF1 - I * IF1;
	SFIm[213] = R * IF1 + I * RF1;
	R = SFRe[215];
	I = SFIm[215];
	SFRe[215] = R * RF2 - I * IF2;
	SFIm[215] = R * IF2 + I * RF2;
	R = SFRe[215];
	I = SFIm[215];
	SFRe[215] = SFIm[213] - I;
	SFIm[215] = R - SFRe[213];
	SFRe[213] += R;
	SFIm[213] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212));
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212)));
	_mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212)));
	_mm_store_ps(SFRe + 208, mR);
	_mm_store_ps(SFIm + 208, mI);
	Re0 = SFRe[204]; Im0 = SFIm[204];
	Re1 = SFRe[205]; Im1 = SFIm[205];
	Re2 = SFRe[206]; Im2 = SFIm[206];
	Re3 = SFRe[207]; Im3 = SFIm[207];
	SFRe[204] = Re0 + Re1; SFIm[204] = Im0 + Im1;
	SFRe[205] = Re0 - Re1; SFIm[205] = Im0 - Im1;
	SFRe[206] = Re2 + Re3; SFIm[206] = Im2 + Im3;
	SFRe[207] = Im2 - Im3; SFIm[207] = Re3 - Re2;
	RA = SFRe[204] + SFRe[206];
	IA = SFIm[204] + SFIm[206];
	SFRe[206] = SFRe[204] - SFRe[206];
	SFIm[206] = SFIm[204] - SFIm[206];
	SFRe[204] = RA;
	SFIm[204] = IA;
	RA = SFRe[205] + SFRe[207];
	IA = SFIm[205] + SFIm[207];
	SFRe[207] = SFRe[205] - SFRe[207];
	SFIm[207] = SFIm[205] - SFIm[207];
	SFRe[205] = RA;
	SFIm[205] = IA;
	Re0 = SFRe[200]; Im0 = SFIm[200];
	Re1 = SFRe[201]; Im1 = SFIm[201];
	Re2 = SFRe[202]; Im2 = SFIm[202];
	Re3 = SFRe[203]; Im3 = SFIm[203];
	SFRe[200] = Re0 + Re1; SFIm[200] = Im0 + Im1;
	SFRe[201] = Re0 - Re1; SFIm[201] = Im0 - Im1;
	SFRe[202] = Re2 + Re3; SFIm[202] = Im2 + Im3;
	SFRe[203] = Im2 - Im3; SFIm[203] = Re3 - Re2;
	RA = SFRe[200] + SFRe[202];
	IA = SFIm[200] + SFIm[202];
	SFRe[202] = SFRe[200] - SFRe[202];
	SFIm[202] = SFIm[200] - SFIm[202];
	SFRe[200] = RA;
	SFIm[200] = IA;
	RA = SFRe[201] + SFRe[203];
	IA = SFIm[201] + SFIm[203];
	SFRe[203] = SFRe[201] - SFRe[203];
	SFIm[203] = SFIm[201] - SFIm[203];
	SFRe[201] = RA;
	SFIm[201] = IA;
	R = SFRe[198] + SFRe[199];
	I = SFIm[198] + SFIm[199];
	SFRe[199] = SFRe[198] - SFRe[199];
	SFIm[199] = SFIm[198] - SFIm[199];
	SFRe[198] = R;
	SFIm[198] = I;
	R = SFRe[196] + SFRe[197];
	I = SFIm[196] + SFIm[197];
	SFRe[197] = SFRe[196] - SFRe[197];
	SFIm[197] = SFIm[196] - SFIm[197];
	SFRe[196] = R;
	SFIm[196] = I;
	Re0 = SFRe[192]; Im0 = SFIm[192];
	Re1 = SFRe[193]; Im1 = SFIm[193];
	Re2 = SFRe[194]; Im2 = SFIm[194];
	Re3 = SFRe[195]; Im3 = SFIm[195];
	SFRe[192] = Re0 + Re1; SFIm[192] = Im0 + Im1;
	SFRe[193] = Re0 - Re1; SFIm[193] = Im0 - Im1;
	SFRe[194] = Re2 + Re3; SFIm[194] = Im2 + Im3;
	SFRe[195] = Im2 - Im3; SFIm[195] = Re3 - Re2;
	RA = SFRe[192] + SFRe[194];
	IA = SFIm[192] + SFIm[194];
	SFRe[194] = SFRe[192] - SFRe[194];
	SFIm[194] = SFIm[192] - SFIm[194];
	SFRe[192] = RA;
	SFIm[192] = IA;
	RA = SFRe[193] + SFRe[195];
	IA = SFIm[193] + SFIm[195];
	SFRe[195] = SFRe[193] - SFRe[195];
	SFIm[195] = SFIm[193] - SFIm[195];
	SFRe[193] = RA;
	SFIm[193] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[196];
	I = SFIm[196];
	SFRe[196] = R * RF1 - I * IF1;
	SFIm[196] = R * IF1 + I * RF1;
	R = SFRe[198];
	I = SFIm[198];
	SFRe[198] = R * RF2 - I * IF2;
	SFIm[198] = R * IF2 + I * RF2;
	R = SFRe[198];
	I = SFIm[198];
	SFRe[198] = SFIm[196] - I;
	SFIm[198] = R - SFRe[196];
	SFRe[196] += R;
	SFIm[196] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[197];
	I = SFIm[197];
	SFRe[197] = R * RF1 - I * IF1;
	SFIm[197] = R * IF1 + I * RF1;
	R = SFRe[199];
	I = SFIm[199];
	SFRe[199] = R * RF2 - I * IF2;
	SFIm[199] = R * IF2 + I * RF2;
	R = SFRe[199];
	I = SFIm[199];
	SFRe[199] = SFIm[197] - I;
	SFIm[199] = R - SFRe[197];
	SFRe[197] += R;
	SFIm[197] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196));
	_mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196)));
	_mm_store_ps(SFIm + 196, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 200);
	mI = _mm_load_ps(SFIm + 200);
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 204, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFIm + 200), mI));
	_mm_store_ps(SFIm + 204, _mm_sub_ps(mR, _mm_load_ps(SFRe + 200)));
	_mm_store_ps(SFRe + 200, _mm_add_ps(_mm_load_ps(SFRe + 200), mR));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_load_ps(SFIm + 200), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 200));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 200));
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 200)));
	_mm_store_ps(SFIm + 200, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 200)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 204));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 204));
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 204)));
	_mm_store_ps(SFIm + 204, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 204)));
	_mm_store_ps(SFRe + 196, mR);
	_mm_store_ps(SFIm + 196, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 208);
	mI = _mm_load_ps(SFIm + 208);
	_mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 208, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 216);
	mI = _mm_load_ps(SFIm + 216);
	_mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 216, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 216);
	mI = _mm_load_ps(SFIm + 216);
	_mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFIm + 208), mI));
	_mm_store_ps(SFIm + 216, _mm_sub_ps(mR, _mm_load_ps(SFRe + 208)));
	_mm_store_ps(SFRe + 208, _mm_add_ps(_mm_load_ps(SFRe + 208), mR));
	_mm_store_ps(SFIm + 208, _mm_add_ps(_mm_load_ps(SFIm + 208), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 212);
	mI = _mm_load_ps(SFIm + 212);
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 212, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 220);
	mI = _mm_load_ps(SFIm + 220);
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 220, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 220);
	mI = _mm_load_ps(SFIm + 220);
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFIm + 212), mI));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(mR, _mm_load_ps(SFRe + 212)));
	_mm_store_ps(SFRe + 212, _mm_add_ps(_mm_load_ps(SFRe + 212), mR));
	_mm_store_ps(SFIm + 212, _mm_add_ps(_mm_load_ps(SFIm + 212), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 208));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 208));
	_mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 208)));
	_mm_store_ps(SFIm + 208, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 208)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 212));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 212));
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 212)));
	_mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 212)));
	_mm_store_ps(SFRe + 196, mR);
	_mm_store_ps(SFIm + 196, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 216));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 216));
	_mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 216)));
	_mm_store_ps(SFIm + 216, _mm_sub_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 216)));
	_mm_store_ps(SFRe + 200, mR);
	_mm_store_ps(SFIm + 200, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 220));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 220));
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 220)));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 220)));
	_mm_store_ps(SFRe + 204, mR);
	_mm_store_ps(SFIm + 204, mI);
	mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
	mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
	mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
	mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
	mR = _mm_load_ps(SFRe + 224);
	mI = _mm_load_ps(SFIm + 224);
	_mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 224, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 240);
	mI = _mm_load_ps(SFIm + 240);
	_mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 240, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 240);
	mI = _mm_load_ps(SFIm + 240);
	_mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFIm + 224), mI));
	_mm_store_ps(SFIm + 240, _mm_sub_ps(mR, _mm_load_ps(SFRe + 224)));
	_mm_store_ps(SFRe + 224, _mm_add_ps(_mm_load_ps(SFRe + 224), mR));
	_mm_store_ps(SFIm + 224, _mm_add_ps(_mm_load_ps(SFIm + 224), mI));
	mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
	mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
	mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
	mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
	mR = _mm_load_ps(SFRe + 228);
	mI = _mm_load_ps(SFIm + 228);
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 228, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 244);
	mI = _mm_load_ps(SFIm + 244);
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 244, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 244);
	mI = _mm_load_ps(SFIm + 244);
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFIm + 228), mI));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(mR, _mm_load_ps(SFRe + 228)));
	_mm_store_ps(SFRe + 228, _mm_add_ps(_mm_load_ps(SFRe + 228), mR));
	_mm_store_ps(SFIm + 228, _mm_add_ps(_mm_load_ps(SFIm + 228), mI));
	mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
	mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
	mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
	mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
	mR = _mm_load_ps(SFRe + 232);
	mI = _mm_load_ps(SFIm + 232);
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFIm + 232), mI));
	_mm_store_ps(SFIm + 248, _mm_sub_ps(mR, _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFRe + 232, _mm_add_ps(_mm_load_ps(SFRe + 232), mR));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_load_ps(SFIm + 232), mI));
	mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
	mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
	mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
	mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 236), mI));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 236)));
	_mm_store_ps(SFRe + 236, _mm_add_ps(_mm_load_ps(SFRe + 236), mR));
	_mm_store_ps(SFIm + 236, _mm_add_ps(_mm_load_ps(SFIm + 236), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 224));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 224));
	_mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 224)));
	_mm_store_ps(SFIm + 224, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 224)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 228));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 228));
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 228)));
	_mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 228)));
	_mm_store_ps(SFRe + 196, mR);
	_mm_store_ps(SFIm + 196, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 232));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 232));
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFIm + 232, _mm_sub_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 232)));
	_mm_store_ps(SFRe + 200, mR);
	_mm_store_ps(SFIm + 200, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 236));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 236));
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 236)));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 236)));
	_mm_store_ps(SFRe + 204, mR);
	_mm_store_ps(SFIm + 204, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 240));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 240));
	_mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 240)));
	_mm_store_ps(SFIm + 240, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 240)));
	_mm_store_ps(SFRe + 208, mR);
	_mm_store_ps(SFIm + 208, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 212), _mm_load_ps(SFRe + 244));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 212), _mm_load_ps(SFIm + 244));
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 212), _mm_load_ps(SFRe + 244)));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 212), _mm_load_ps(SFIm + 244)));
	_mm_store_ps(SFRe + 212, mR);
	_mm_store_ps(SFIm + 212, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 248));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 248));
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 248)));
	_mm_store_ps(SFIm + 248, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 248)));
	_mm_store_ps(SFRe + 216, mR);
	_mm_store_ps(SFIm + 216, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 220), _mm_load_ps(SFRe + 252));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 220), _mm_load_ps(SFIm + 252));
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFRe + 220), _mm_load_ps(SFRe + 252)));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(_mm_load_ps(SFIm + 220), _mm_load_ps(SFIm + 252)));
	_mm_store_ps(SFRe + 220, mR);
	_mm_store_ps(SFIm + 220, mI);
	Re0 = SFRe[188]; Im0 = SFIm[188];
	Re1 = SFRe[189]; Im1 = SFIm[189];
	Re2 = SFRe[190]; Im2 = SFIm[190];
	Re3 = SFRe[191]; Im3 = SFIm[191];
	SFRe[188] = Re0 + Re1; SFIm[188] = Im0 + Im1;
	SFRe[189] = Re0 - Re1; SFIm[189] = Im0 - Im1;
	SFRe[190] = Re2 + Re3; SFIm[190] = Im2 + Im3;
	SFRe[191] = Im2 - Im3; SFIm[191] = Re3 - Re2;
	RA = SFRe[188] + SFRe[190];
	IA = SFIm[188] + SFIm[190];
	SFRe[190] = SFRe[188] - SFRe[190];
	SFIm[190] = SFIm[188] - SFIm[190];
	SFRe[188] = RA;
	SFIm[188] = IA;
	RA = SFRe[189] + SFRe[191];
	IA = SFIm[189] + SFIm[191];
	SFRe[191] = SFRe[189] - SFRe[191];
	SFIm[191] = SFIm[189] - SFIm[191];
	SFRe[189] = RA;
	SFIm[189] = IA;
	Re0 = SFRe[184]; Im0 = SFIm[184];
	Re1 = SFRe[185]; Im1 = SFIm[185];
	Re2 = SFRe[186]; Im2 = SFIm[186];
	Re3 = SFRe[187]; Im3 = SFIm[187];
	SFRe[184] = Re0 + Re1; SFIm[184] = Im0 + Im1;
	SFRe[185] = Re0 - Re1; SFIm[185] = Im0 - Im1;
	SFRe[186] = Re2 + Re3; SFIm[186] = Im2 + Im3;
	SFRe[187] = Im2 - Im3; SFIm[187] = Re3 - Re2;
	RA = SFRe[184] + SFRe[186];
	IA = SFIm[184] + SFIm[186];
	SFRe[186] = SFRe[184] - SFRe[186];
	SFIm[186] = SFIm[184] - SFIm[186];
	SFRe[184] = RA;
	SFIm[184] = IA;
	RA = SFRe[185] + SFRe[187];
	IA = SFIm[185] + SFIm[187];
	SFRe[187] = SFRe[185] - SFRe[187];
	SFIm[187] = SFIm[185] - SFIm[187];
	SFRe[185] = RA;
	SFIm[185] = IA;
	R = SFRe[182] + SFRe[183];
	I = SFIm[182] + SFIm[183];
	SFRe[183] = SFRe[182] - SFRe[183];
	SFIm[183] = SFIm[182] - SFIm[183];
	SFRe[182] = R;
	SFIm[182] = I;
	R = SFRe[180] + SFRe[181];
	I = SFIm[180] + SFIm[181];
	SFRe[181] = SFRe[180] - SFRe[181];
	SFIm[181] = SFIm[180] - SFIm[181];
	SFRe[180] = R;
	SFIm[180] = I;
	Re0 = SFRe[176]; Im0 = SFIm[176];
	Re1 = SFRe[177]; Im1 = SFIm[177];
	Re2 = SFRe[178]; Im2 = SFIm[178];
	Re3 = SFRe[179]; Im3 = SFIm[179];
	SFRe[176] = Re0 + Re1; SFIm[176] = Im0 + Im1;
	SFRe[177] = Re0 - Re1; SFIm[177] = Im0 - Im1;
	SFRe[178] = Re2 + Re3; SFIm[178] = Im2 + Im3;
	SFRe[179] = Im2 - Im3; SFIm[179] = Re3 - Re2;
	RA = SFRe[176] + SFRe[178];
	IA = SFIm[176] + SFIm[178];
	SFRe[178] = SFRe[176] - SFRe[178];
	SFIm[178] = SFIm[176] - SFIm[178];
	SFRe[176] = RA;
	SFIm[176] = IA;
	RA = SFRe[177] + SFRe[179];
	IA = SFIm[177] + SFIm[179];
	SFRe[179] = SFRe[177] - SFRe[179];
	SFIm[179] = SFIm[177] - SFIm[179];
	SFRe[177] = RA;
	SFIm[177] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[180];
	I = SFIm[180];
	SFRe[180] = R * RF1 - I * IF1;
	SFIm[180] = R * IF1 + I * RF1;
	R = SFRe[182];
	I = SFIm[182];
	SFRe[182] = R * RF2 - I * IF2;
	SFIm[182] = R * IF2 + I * RF2;
	R = SFRe[182];
	I = SFIm[182];
	SFRe[182] = SFIm[180] - I;
	SFIm[182] = R - SFRe[180];
	SFRe[180] += R;
	SFIm[180] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[181];
	I = SFIm[181];
	SFRe[181] = R * RF1 - I * IF1;
	SFIm[181] = R * IF1 + I * RF1;
	R = SFRe[183];
	I = SFIm[183];
	SFRe[183] = R * RF2 - I * IF2;
	SFIm[183] = R * IF2 + I * RF2;
	R = SFRe[183];
	I = SFIm[183];
	SFRe[183] = SFIm[181] - I;
	SFIm[183] = R - SFRe[181];
	SFRe[181] += R;
	SFIm[181] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180));
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180)));
	_mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180)));
	_mm_store_ps(SFRe + 176, mR);
	_mm_store_ps(SFIm + 176, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 184);
	mI = _mm_load_ps(SFIm + 184);
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFIm + 184), mI));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(mR, _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFRe + 184, _mm_add_ps(_mm_load_ps(SFRe + 184), mR));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_load_ps(SFIm + 184), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 184));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 184));
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFIm + 184, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 184)));
	_mm_store_ps(SFRe + 176, mR);
	_mm_store_ps(SFIm + 176, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 180), _mm_load_ps(SFRe + 188));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 180), _mm_load_ps(SFIm + 188));
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFRe + 180), _mm_load_ps(SFRe + 188)));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(_mm_load_ps(SFIm + 180), _mm_load_ps(SFIm + 188)));
	_mm_store_ps(SFRe + 180, mR);
	_mm_store_ps(SFIm + 180, mI);
	Re0 = SFRe[172]; Im0 = SFIm[172];
	Re1 = SFRe[173]; Im1 = SFIm[173];
	Re2 = SFRe[174]; Im2 = SFIm[174];
	Re3 = SFRe[175]; Im3 = SFIm[175];
	SFRe[172] = Re0 + Re1; SFIm[172] = Im0 + Im1;
	SFRe[173] = Re0 - Re1; SFIm[173] = Im0 - Im1;
	SFRe[174] = Re2 + Re3; SFIm[174] = Im2 + Im3;
	SFRe[175] = Im2 - Im3; SFIm[175] = Re3 - Re2;
	RA = SFRe[172] + SFRe[174];
	IA = SFIm[172] + SFIm[174];
	SFRe[174] = SFRe[172] - SFRe[174];
	SFIm[174] = SFIm[172] - SFIm[174];
	SFRe[172] = RA;
	SFIm[172] = IA;
	RA = SFRe[173] + SFRe[175];
	IA = SFIm[173] + SFIm[175];
	SFRe[175] = SFRe[173] - SFRe[175];
	SFIm[175] = SFIm[173] - SFIm[175];
	SFRe[173] = RA;
	SFIm[173] = IA;
	Re0 = SFRe[168]; Im0 = SFIm[168];
	Re1 = SFRe[169]; Im1 = SFIm[169];
	Re2 = SFRe[170]; Im2 = SFIm[170];
	Re3 = SFRe[171]; Im3 = SFIm[171];
	SFRe[168] = Re0 + Re1; SFIm[168] = Im0 + Im1;
	SFRe[169] = Re0 - Re1; SFIm[169] = Im0 - Im1;
	SFRe[170] = Re2 + Re3; SFIm[170] = Im2 + Im3;
	SFRe[171] = Im2 - Im3; SFIm[171] = Re3 - Re2;
	RA = SFRe[168] + SFRe[170];
	IA = SFIm[168] + SFIm[170];
	SFRe[170] = SFRe[168] - SFRe[170];
	SFIm[170] = SFIm[168] - SFIm[170];
	SFRe[168] = RA;
	SFIm[168] = IA;
	RA = SFRe[169] + SFRe[171];
	IA = SFIm[169] + SFIm[171];
	SFRe[171] = SFRe[169] - SFRe[171];
	SFIm[171] = SFIm[169] - SFIm[171];
	SFRe[169] = RA;
	SFIm[169] = IA;
	R = SFRe[166] + SFRe[167];
	I = SFIm[166] + SFIm[167];
	SFRe[167] = SFRe[166] - SFRe[167];
	SFIm[167] = SFIm[166] - SFIm[167];
	SFRe[166] = R;
	SFIm[166] = I;
	R = SFRe[164] + SFRe[165];
	I = SFIm[164] + SFIm[165];
	SFRe[165] = SFRe[164] - SFRe[165];
	SFIm[165] = SFIm[164] - SFIm[165];
	SFRe[164] = R;
	SFIm[164] = I;
	Re0 = SFRe[160]; Im0 = SFIm[160];
	Re1 = SFRe[161]; Im1 = SFIm[161];
	Re2 = SFRe[162]; Im2 = SFIm[162];
	Re3 = SFRe[163]; Im3 = SFIm[163];
	SFRe[160] = Re0 + Re1; SFIm[160] = Im0 + Im1;
	SFRe[161] = Re0 - Re1; SFIm[161] = Im0 - Im1;
	SFRe[162] = Re2 + Re3; SFIm[162] = Im2 + Im3;
	SFRe[163] = Im2 - Im3; SFIm[163] = Re3 - Re2;
	RA = SFRe[160] + SFRe[162];
	IA = SFIm[160] + SFIm[162];
	SFRe[162] = SFRe[160] - SFRe[162];
	SFIm[162] = SFIm[160] - SFIm[162];
	SFRe[160] = RA;
	SFIm[160] = IA;
	RA = SFRe[161] + SFRe[163];
	IA = SFIm[161] + SFIm[163];
	SFRe[163] = SFRe[161] - SFRe[163];
	SFIm[163] = SFIm[161] - SFIm[163];
	SFRe[161] = RA;
	SFIm[161] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[164];
	I = SFIm[164];
	SFRe[164] = R * RF1 - I * IF1;
	SFIm[164] = R * IF1 + I * RF1;
	R = SFRe[166];
	I = SFIm[166];
	SFRe[166] = R * RF2 - I * IF2;
	SFIm[166] = R * IF2 + I * RF2;
	R = SFRe[166];
	I = SFIm[166];
	SFRe[166] = SFIm[164] - I;
	SFIm[166] = R - SFRe[164];
	SFRe[164] += R;
	SFIm[164] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[165];
	I = SFIm[165];
	SFRe[165] = R * RF1 - I * IF1;
	SFIm[165] = R * IF1 + I * RF1;
	R = SFRe[167];
	I = SFIm[167];
	SFRe[167] = R * RF2 - I * IF2;
	SFIm[167] = R * IF2 + I * RF2;
	R = SFRe[167];
	I = SFIm[167];
	SFRe[167] = SFIm[165] - I;
	SFIm[167] = R - SFRe[165];
	SFRe[165] += R;
	SFIm[165] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164));
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164)));
	_mm_store_ps(SFRe + 160, mR);
	_mm_store_ps(SFIm + 160, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 168);
	mI = _mm_load_ps(SFIm + 168);
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
	_mm_store_ps(SFIm + 172, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 168));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 168));
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFIm + 168, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 168)));
	_mm_store_ps(SFRe + 160, mR);
	_mm_store_ps(SFIm + 160, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 164), _mm_load_ps(SFRe + 172));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 164), _mm_load_ps(SFIm + 172));
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFRe + 164), _mm_load_ps(SFRe + 172)));
	_mm_store_ps(SFIm + 172, _mm_sub_ps(_mm_load_ps(SFIm + 164), _mm_load_ps(SFIm + 172)));
	_mm_store_ps(SFRe + 164, mR);
	_mm_store_ps(SFIm + 164, mI);
	R = SFRe[158] + SFRe[159];
	I = SFIm[158] + SFIm[159];
	SFRe[159] = SFRe[158] - SFRe[159];
	SFIm[159] = SFIm[158] - SFIm[159];
	SFRe[158] = R;
	SFIm[158] = I;
	R = SFRe[156] + SFRe[157];
	I = SFIm[156] + SFIm[157];
	SFRe[157] = SFRe[156] - SFRe[157];
	SFIm[157] = SFIm[156] - SFIm[157];
	SFRe[156] = R;
	SFIm[156] = I;
	Re0 = SFRe[152]; Im0 = SFIm[152];
	Re1 = SFRe[153]; Im1 = SFIm[153];
	Re2 = SFRe[154]; Im2 = SFIm[154];
	Re3 = SFRe[155]; Im3 = SFIm[155];
	SFRe[152] = Re0 + Re1; SFIm[152] = Im0 + Im1;
	SFRe[153] = Re0 - Re1; SFIm[153] = Im0 - Im1;
	SFRe[154] = Re2 + Re3; SFIm[154] = Im2 + Im3;
	SFRe[155] = Im2 - Im3; SFIm[155] = Re3 - Re2;
	RA = SFRe[152] + SFRe[154];
	IA = SFIm[152] + SFIm[154];
	SFRe[154] = SFRe[152] - SFRe[154];
	SFIm[154] = SFIm[152] - SFIm[154];
	SFRe[152] = RA;
	SFIm[152] = IA;
	RA = SFRe[153] + SFRe[155];
	IA = SFIm[153] + SFIm[155];
	SFRe[155] = SFRe[153] - SFRe[155];
	SFIm[155] = SFIm[153] - SFIm[155];
	SFRe[153] = RA;
	SFIm[153] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[156];
	I = SFIm[156];
	SFRe[156] = R * RF1 - I * IF1;
	SFIm[156] = R * IF1 + I * RF1;
	R = SFRe[158];
	I = SFIm[158];
	SFRe[158] = R * RF2 - I * IF2;
	SFIm[158] = R * IF2 + I * RF2;
	R = SFRe[158];
	I = SFIm[158];
	SFRe[158] = SFIm[156] - I;
	SFIm[158] = R - SFRe[156];
	SFRe[156] += R;
	SFIm[156] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[157];
	I = SFIm[157];
	SFRe[157] = R * RF1 - I * IF1;
	SFIm[157] = R * IF1 + I * RF1;
	R = SFRe[159];
	I = SFIm[159];
	SFRe[159] = R * RF2 - I * IF2;
	SFIm[159] = R * IF2 + I * RF2;
	R = SFRe[159];
	I = SFIm[159];
	SFRe[159] = SFIm[157] - I;
	SFIm[159] = R - SFRe[157];
	SFRe[157] += R;
	SFIm[157] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156));
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156)));
	_mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156)));
	_mm_store_ps(SFRe + 152, mR);
	_mm_store_ps(SFIm + 152, mI);
	R = SFRe[150] + SFRe[151];
	I = SFIm[150] + SFIm[151];
	SFRe[151] = SFRe[150] - SFRe[151];
	SFIm[151] = SFIm[150] - SFIm[151];
	SFRe[150] = R;
	SFIm[150] = I;
	R = SFRe[148] + SFRe[149];
	I = SFIm[148] + SFIm[149];
	SFRe[149] = SFRe[148] - SFRe[149];
	SFIm[149] = SFIm[148] - SFIm[149];
	SFRe[148] = R;
	SFIm[148] = I;
	Re0 = SFRe[144]; Im0 = SFIm[144];
	Re1 = SFRe[145]; Im1 = SFIm[145];
	Re2 = SFRe[146]; Im2 = SFIm[146];
	Re3 = SFRe[147]; Im3 = SFIm[147];
	SFRe[144] = Re0 + Re1; SFIm[144] = Im0 + Im1;
	SFRe[145] = Re0 - Re1; SFIm[145] = Im0 - Im1;
	SFRe[146] = Re2 + Re3; SFIm[146] = Im2 + Im3;
	SFRe[147] = Im2 - Im3; SFIm[147] = Re3 - Re2;
	RA = SFRe[144] + SFRe[146];
	IA = SFIm[144] + SFIm[146];
	SFRe[146] = SFRe[144] - SFRe[146];
	SFIm[146] = SFIm[144] - SFIm[146];
	SFRe[144] = RA;
	SFIm[144] = IA;
	RA = SFRe[145] + SFRe[147];
	IA = SFIm[145] + SFIm[147];
	SFRe[147] = SFRe[145] - SFRe[147];
	SFIm[147] = SFIm[145] - SFIm[147];
	SFRe[145] = RA;
	SFIm[145] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[148];
	I = SFIm[148];
	SFRe[148] = R * RF1 - I * IF1;
	SFIm[148] = R * IF1 + I * RF1;
	R = SFRe[150];
	I = SFIm[150];
	SFRe[150] = R * RF2 - I * IF2;
	SFIm[150] = R * IF2 + I * RF2;
	R = SFRe[150];
	I = SFIm[150];
	SFRe[150] = SFIm[148] - I;
	SFIm[150] = R - SFRe[148];
	SFRe[148] += R;
	SFIm[148] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[149];
	I = SFIm[149];
	SFRe[149] = R * RF1 - I * IF1;
	SFIm[149] = R * IF1 + I * RF1;
	R = SFRe[151];
	I = SFIm[151];
	SFRe[151] = R * RF2 - I * IF2;
	SFIm[151] = R * IF2 + I * RF2;
	R = SFRe[151];
	I = SFIm[151];
	SFRe[151] = SFIm[149] - I;
	SFIm[151] = R - SFRe[149];
	SFRe[149] += R;
	SFIm[149] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148));
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148)));
	_mm_store_ps(SFRe + 144, mR);
	_mm_store_ps(SFIm + 144, mI);
	Re0 = SFRe[140]; Im0 = SFIm[140];
	Re1 = SFRe[141]; Im1 = SFIm[141];
	Re2 = SFRe[142]; Im2 = SFIm[142];
	Re3 = SFRe[143]; Im3 = SFIm[143];
	SFRe[140] = Re0 + Re1; SFIm[140] = Im0 + Im1;
	SFRe[141] = Re0 - Re1; SFIm[141] = Im0 - Im1;
	SFRe[142] = Re2 + Re3; SFIm[142] = Im2 + Im3;
	SFRe[143] = Im2 - Im3; SFIm[143] = Re3 - Re2;
	RA = SFRe[140] + SFRe[142];
	IA = SFIm[140] + SFIm[142];
	SFRe[142] = SFRe[140] - SFRe[142];
	SFIm[142] = SFIm[140] - SFIm[142];
	SFRe[140] = RA;
	SFIm[140] = IA;
	RA = SFRe[141] + SFRe[143];
	IA = SFIm[141] + SFIm[143];
	SFRe[143] = SFRe[141] - SFRe[143];
	SFIm[143] = SFIm[141] - SFIm[143];
	SFRe[141] = RA;
	SFIm[141] = IA;
	Re0 = SFRe[136]; Im0 = SFIm[136];
	Re1 = SFRe[137]; Im1 = SFIm[137];
	Re2 = SFRe[138]; Im2 = SFIm[138];
	Re3 = SFRe[139]; Im3 = SFIm[139];
	SFRe[136] = Re0 + Re1; SFIm[136] = Im0 + Im1;
	SFRe[137] = Re0 - Re1; SFIm[137] = Im0 - Im1;
	SFRe[138] = Re2 + Re3; SFIm[138] = Im2 + Im3;
	SFRe[139] = Im2 - Im3; SFIm[139] = Re3 - Re2;
	RA = SFRe[136] + SFRe[138];
	IA = SFIm[136] + SFIm[138];
	SFRe[138] = SFRe[136] - SFRe[138];
	SFIm[138] = SFIm[136] - SFIm[138];
	SFRe[136] = RA;
	SFIm[136] = IA;
	RA = SFRe[137] + SFRe[139];
	IA = SFIm[137] + SFIm[139];
	SFRe[139] = SFRe[137] - SFRe[139];
	SFIm[139] = SFIm[137] - SFIm[139];
	SFRe[137] = RA;
	SFIm[137] = IA;
	R = SFRe[134] + SFRe[135];
	I = SFIm[134] + SFIm[135];
	SFRe[135] = SFRe[134] - SFRe[135];
	SFIm[135] = SFIm[134] - SFIm[135];
	SFRe[134] = R;
	SFIm[134] = I;
	R = SFRe[132] + SFRe[133];
	I = SFIm[132] + SFIm[133];
	SFRe[133] = SFRe[132] - SFRe[133];
	SFIm[133] = SFIm[132] - SFIm[133];
	SFRe[132] = R;
	SFIm[132] = I;
	Re0 = SFRe[128]; Im0 = SFIm[128];
	Re1 = SFRe[129]; Im1 = SFIm[129];
	Re2 = SFRe[130]; Im2 = SFIm[130];
	Re3 = SFRe[131]; Im3 = SFIm[131];
	SFRe[128] = Re0 + Re1; SFIm[128] = Im0 + Im1;
	SFRe[129] = Re0 - Re1; SFIm[129] = Im0 - Im1;
	SFRe[130] = Re2 + Re3; SFIm[130] = Im2 + Im3;
	SFRe[131] = Im2 - Im3; SFIm[131] = Re3 - Re2;
	RA = SFRe[128] + SFRe[130];
	IA = SFIm[128] + SFIm[130];
	SFRe[130] = SFRe[128] - SFRe[130];
	SFIm[130] = SFIm[128] - SFIm[130];
	SFRe[128] = RA;
	SFIm[128] = IA;
	RA = SFRe[129] + SFRe[131];
	IA = SFIm[129] + SFIm[131];
	SFRe[131] = SFRe[129] - SFRe[131];
	SFIm[131] = SFIm[129] - SFIm[131];
	SFRe[129] = RA;
	SFIm[129] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[132];
	I = SFIm[132];
	SFRe[132] = R * RF1 - I * IF1;
	SFIm[132] = R * IF1 + I * RF1;
	R = SFRe[134];
	I = SFIm[134];
	SFRe[134] = R * RF2 - I * IF2;
	SFIm[134] = R * IF2 + I * RF2;
	R = SFRe[134];
	I = SFIm[134];
	SFRe[134] = SFIm[132] - I;
	SFIm[134] = R - SFRe[132];
	SFRe[132] += R;
	SFIm[132] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[133];
	I = SFIm[133];
	SFRe[133] = R * RF1 - I * IF1;
	SFIm[133] = R * IF1 + I * RF1;
	R = SFRe[135];
	I = SFIm[135];
	SFRe[135] = R * RF2 - I * IF2;
	SFIm[135] = R * IF2 + I * RF2;
	R = SFRe[135];
	I = SFIm[135];
	SFRe[135] = SFIm[133] - I;
	SFIm[135] = R - SFRe[133];
	SFRe[133] += R;
	SFIm[133] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132));
	_mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132)));
	_mm_store_ps(SFIm + 132, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 136);
	mI = _mm_load_ps(SFIm + 136);
	_mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 140, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFIm + 136), mI));
	_mm_store_ps(SFIm + 140, _mm_sub_ps(mR, _mm_load_ps(SFRe + 136)));
	_mm_store_ps(SFRe + 136, _mm_add_ps(_mm_load_ps(SFRe + 136), mR));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_load_ps(SFIm + 136), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 136));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 136));
	_mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 136)));
	_mm_store_ps(SFIm + 136, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 136)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 140));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 140));
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 140)));
	_mm_store_ps(SFIm + 140, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 140)));
	_mm_store_ps(SFRe + 132, mR);
	_mm_store_ps(SFIm + 132, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 144);
	mI = _mm_load_ps(SFIm + 144);
	_mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 144, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 152);
	mI = _mm_load_ps(SFIm + 152);
	_mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 152, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 152);
	mI = _mm_load_ps(SFIm + 152);
	_mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_load_ps(SFIm + 144), mI));
	_mm_store_ps(SFIm + 152, _mm_sub_ps(mR, _mm_load_ps(SFRe + 144)));
	_mm_store_ps(SFRe + 144, _mm_add_ps(_mm_load_ps(SFRe + 144), mR));
	_mm_store_ps(SFIm + 144, _mm_add_ps(_mm_load_ps(SFIm + 144), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 148);
	mI = _mm_load_ps(SFIm + 148);
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 148, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 156);
	mI = _mm_load_ps(SFIm + 156);
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 156, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 156);
	mI = _mm_load_ps(SFIm + 156);
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFIm + 148), mI));
	_mm_store_ps(SFIm + 156, _mm_sub_ps(mR, _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFRe + 148, _mm_add_ps(_mm_load_ps(SFRe + 148), mR));
	_mm_store_ps(SFIm + 148, _mm_add_ps(_mm_load_ps(SFIm + 148), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 144));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 144));
	_mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 144)));
	_mm_store_ps(SFIm + 144, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 144)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 148));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 148));
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 148)));
	_mm_store_ps(SFRe + 132, mR);
	_mm_store_ps(SFIm + 132, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 152));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 152));
	_mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 152)));
	_mm_store_ps(SFIm + 152, _mm_sub_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 152)));
	_mm_store_ps(SFRe + 136, mR);
	_mm_store_ps(SFIm + 136, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 156));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 156));
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 156)));
	_mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 156)));
	_mm_store_ps(SFRe + 140, mR);
	_mm_store_ps(SFIm + 140, mI);
	mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
	mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
	mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
	mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
	mR = _mm_load_ps(SFRe + 160);
	mI = _mm_load_ps(SFIm + 160);
	_mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 160, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 176);
	mI = _mm_load_ps(SFIm + 176);
	_mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 176, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 176);
	mI = _mm_load_ps(SFIm + 176);
	_mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_load_ps(SFIm + 160), mI));
	_mm_store_ps(SFIm + 176, _mm_sub_ps(mR, _mm_load_ps(SFRe + 160)));
	_mm_store_ps(SFRe + 160, _mm_add_ps(_mm_load_ps(SFRe + 160), mR));
	_mm_store_ps(SFIm + 160, _mm_add_ps(_mm_load_ps(SFIm + 160), mI));
	mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
	mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
	mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
	mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
	mR = _mm_load_ps(SFRe + 164);
	mI = _mm_load_ps(SFIm + 164);
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 164, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 180);
	mI = _mm_load_ps(SFIm + 180);
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 180, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 180);
	mI = _mm_load_ps(SFIm + 180);
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFIm + 164), mI));
	_mm_store_ps(SFIm + 180, _mm_sub_ps(mR, _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFRe + 164, _mm_add_ps(_mm_load_ps(SFRe + 164), mR));
	_mm_store_ps(SFIm + 164, _mm_add_ps(_mm_load_ps(SFIm + 164), mI));
	mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
	mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
	mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
	mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
	mR = _mm_load_ps(SFRe + 168);
	mI = _mm_load_ps(SFIm + 168);
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 184);
	mI = _mm_load_ps(SFIm + 184);
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 184);
	mI = _mm_load_ps(SFIm + 184);
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
	_mm_store_ps(SFIm + 184, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
	mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
	mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
	mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
	mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFIm + 172), mI));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(mR, _mm_load_ps(SFRe + 172)));
	_mm_store_ps(SFRe + 172, _mm_add_ps(_mm_load_ps(SFRe + 172), mR));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_load_ps(SFIm + 172), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 160));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 160));
	_mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 160)));
	_mm_store_ps(SFIm + 160, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 160)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 164));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 164));
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 164)));
	_mm_store_ps(SFRe + 132, mR);
	_mm_store_ps(SFIm + 132, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 168));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 168));
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFIm + 168, _mm_sub_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 168)));
	_mm_store_ps(SFRe + 136, mR);
	_mm_store_ps(SFIm + 136, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 172));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 172));
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 172)));
	_mm_store_ps(SFIm + 172, _mm_sub_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 172)));
	_mm_store_ps(SFRe + 140, mR);
	_mm_store_ps(SFIm + 140, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 176));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 176));
	_mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 176)));
	_mm_store_ps(SFIm + 176, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 176)));
	_mm_store_ps(SFRe + 144, mR);
	_mm_store_ps(SFIm + 144, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 148), _mm_load_ps(SFRe + 180));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 148), _mm_load_ps(SFIm + 180));
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 148), _mm_load_ps(SFRe + 180)));
	_mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 148), _mm_load_ps(SFIm + 180)));
	_mm_store_ps(SFRe + 148, mR);
	_mm_store_ps(SFIm + 148, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 184));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 184));
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFIm + 184, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 184)));
	_mm_store_ps(SFRe + 152, mR);
	_mm_store_ps(SFIm + 152, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 156), _mm_load_ps(SFRe + 188));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 156), _mm_load_ps(SFIm + 188));
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFRe + 156), _mm_load_ps(SFRe + 188)));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(_mm_load_ps(SFIm + 156), _mm_load_ps(SFIm + 188)));
	_mm_store_ps(SFRe + 156, mR);
	_mm_store_ps(SFIm + 156, mI);
	R = SFRe[126] + SFRe[127];
	I = SFIm[126] + SFIm[127];
	SFRe[127] = SFRe[126] - SFRe[127];
	SFIm[127] = SFIm[126] - SFIm[127];
	SFRe[126] = R;
	SFIm[126] = I;
	R = SFRe[124] + SFRe[125];
	I = SFIm[124] + SFIm[125];
	SFRe[125] = SFRe[124] - SFRe[125];
	SFIm[125] = SFIm[124] - SFIm[125];
	SFRe[124] = R;
	SFIm[124] = I;
	Re0 = SFRe[120]; Im0 = SFIm[120];
	Re1 = SFRe[121]; Im1 = SFIm[121];
	Re2 = SFRe[122]; Im2 = SFIm[122];
	Re3 = SFRe[123]; Im3 = SFIm[123];
	SFRe[120] = Re0 + Re1; SFIm[120] = Im0 + Im1;
	SFRe[121] = Re0 - Re1; SFIm[121] = Im0 - Im1;
	SFRe[122] = Re2 + Re3; SFIm[122] = Im2 + Im3;
	SFRe[123] = Im2 - Im3; SFIm[123] = Re3 - Re2;
	RA = SFRe[120] + SFRe[122];
	IA = SFIm[120] + SFIm[122];
	SFRe[122] = SFRe[120] - SFRe[122];
	SFIm[122] = SFIm[120] - SFIm[122];
	SFRe[120] = RA;
	SFIm[120] = IA;
	RA = SFRe[121] + SFRe[123];
	IA = SFIm[121] + SFIm[123];
	SFRe[123] = SFRe[121] - SFRe[123];
	SFIm[123] = SFIm[121] - SFIm[123];
	SFRe[121] = RA;
	SFIm[121] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[124];
	I = SFIm[124];
	SFRe[124] = R * RF1 - I * IF1;
	SFIm[124] = R * IF1 + I * RF1;
	R = SFRe[126];
	I = SFIm[126];
	SFRe[126] = R * RF2 - I * IF2;
	SFIm[126] = R * IF2 + I * RF2;
	R = SFRe[126];
	I = SFIm[126];
	SFRe[126] = SFIm[124] - I;
	SFIm[126] = R - SFRe[124];
	SFRe[124] += R;
	SFIm[124] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[125];
	I = SFIm[125];
	SFRe[125] = R * RF1 - I * IF1;
	SFIm[125] = R * IF1 + I * RF1;
	R = SFRe[127];
	I = SFIm[127];
	SFRe[127] = R * RF2 - I * IF2;
	SFIm[127] = R * IF2 + I * RF2;
	R = SFRe[127];
	I = SFIm[127];
	SFRe[127] = SFIm[125] - I;
	SFIm[127] = R - SFRe[125];
	SFRe[125] += R;
	SFIm[125] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124));
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124)));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124)));
	_mm_store_ps(SFRe + 120, mR);
	_mm_store_ps(SFIm + 120, mI);
	R = SFRe[118] + SFRe[119];
	I = SFIm[118] + SFIm[119];
	SFRe[119] = SFRe[118] - SFRe[119];
	SFIm[119] = SFIm[118] - SFIm[119];
	SFRe[118] = R;
	SFIm[118] = I;
	R = SFRe[116] + SFRe[117];
	I = SFIm[116] + SFIm[117];
	SFRe[117] = SFRe[116] - SFRe[117];
	SFIm[117] = SFIm[116] - SFIm[117];
	SFRe[116] = R;
	SFIm[116] = I;
	Re0 = SFRe[112]; Im0 = SFIm[112];
	Re1 = SFRe[113]; Im1 = SFIm[113];
	Re2 = SFRe[114]; Im2 = SFIm[114];
	Re3 = SFRe[115]; Im3 = SFIm[115];
	SFRe[112] = Re0 + Re1; SFIm[112] = Im0 + Im1;
	SFRe[113] = Re0 - Re1; SFIm[113] = Im0 - Im1;
	SFRe[114] = Re2 + Re3; SFIm[114] = Im2 + Im3;
	SFRe[115] = Im2 - Im3; SFIm[115] = Re3 - Re2;
	RA = SFRe[112] + SFRe[114];
	IA = SFIm[112] + SFIm[114];
	SFRe[114] = SFRe[112] - SFRe[114];
	SFIm[114] = SFIm[112] - SFIm[114];
	SFRe[112] = RA;
	SFIm[112] = IA;
	RA = SFRe[113] + SFRe[115];
	IA = SFIm[113] + SFIm[115];
	SFRe[115] = SFRe[113] - SFRe[115];
	SFIm[115] = SFIm[113] - SFIm[115];
	SFRe[113] = RA;
	SFIm[113] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[116];
	I = SFIm[116];
	SFRe[116] = R * RF1 - I * IF1;
	SFIm[116] = R * IF1 + I * RF1;
	R = SFRe[118];
	I = SFIm[118];
	SFRe[118] = R * RF2 - I * IF2;
	SFIm[118] = R * IF2 + I * RF2;
	R = SFRe[118];
	I = SFIm[118];
	SFRe[118] = SFIm[116] - I;
	SFIm[118] = R - SFRe[116];
	SFRe[116] += R;
	SFIm[116] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[117];
	I = SFIm[117];
	SFRe[117] = R * RF1 - I * IF1;
	SFIm[117] = R * IF1 + I * RF1;
	R = SFRe[119];
	I = SFIm[119];
	SFRe[119] = R * RF2 - I * IF2;
	SFIm[119] = R * IF2 + I * RF2;
	R = SFRe[119];
	I = SFIm[119];
	SFRe[119] = SFIm[117] - I;
	SFIm[119] = R - SFRe[117];
	SFRe[117] += R;
	SFIm[117] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116));
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116)));
	_mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116)));
	_mm_store_ps(SFRe + 112, mR);
	_mm_store_ps(SFIm + 112, mI);
	Re0 = SFRe[108]; Im0 = SFIm[108];
	Re1 = SFRe[109]; Im1 = SFIm[109];
	Re2 = SFRe[110]; Im2 = SFIm[110];
	Re3 = SFRe[111]; Im3 = SFIm[111];
	SFRe[108] = Re0 + Re1; SFIm[108] = Im0 + Im1;
	SFRe[109] = Re0 - Re1; SFIm[109] = Im0 - Im1;
	SFRe[110] = Re2 + Re3; SFIm[110] = Im2 + Im3;
	SFRe[111] = Im2 - Im3; SFIm[111] = Re3 - Re2;
	RA = SFRe[108] + SFRe[110];
	IA = SFIm[108] + SFIm[110];
	SFRe[110] = SFRe[108] - SFRe[110];
	SFIm[110] = SFIm[108] - SFIm[110];
	SFRe[108] = RA;
	SFIm[108] = IA;
	RA = SFRe[109] + SFRe[111];
	IA = SFIm[109] + SFIm[111];
	SFRe[111] = SFRe[109] - SFRe[111];
	SFIm[111] = SFIm[109] - SFIm[111];
	SFRe[109] = RA;
	SFIm[109] = IA;
	Re0 = SFRe[104]; Im0 = SFIm[104];
	Re1 = SFRe[105]; Im1 = SFIm[105];
	Re2 = SFRe[106]; Im2 = SFIm[106];
	Re3 = SFRe[107]; Im3 = SFIm[107];
	SFRe[104] = Re0 + Re1; SFIm[104] = Im0 + Im1;
	SFRe[105] = Re0 - Re1; SFIm[105] = Im0 - Im1;
	SFRe[106] = Re2 + Re3; SFIm[106] = Im2 + Im3;
	SFRe[107] = Im2 - Im3; SFIm[107] = Re3 - Re2;
	RA = SFRe[104] + SFRe[106];
	IA = SFIm[104] + SFIm[106];
	SFRe[106] = SFRe[104] - SFRe[106];
	SFIm[106] = SFIm[104] - SFIm[106];
	SFRe[104] = RA;
	SFIm[104] = IA;
	RA = SFRe[105] + SFRe[107];
	IA = SFIm[105] + SFIm[107];
	SFRe[107] = SFRe[105] - SFRe[107];
	SFIm[107] = SFIm[105] - SFIm[107];
	SFRe[105] = RA;
	SFIm[105] = IA;
	R = SFRe[102] + SFRe[103];
	I = SFIm[102] + SFIm[103];
	SFRe[103] = SFRe[102] - SFRe[103];
	SFIm[103] = SFIm[102] - SFIm[103];
	SFRe[102] = R;
	SFIm[102] = I;
	R = SFRe[100] + SFRe[101];
	I = SFIm[100] + SFIm[101];
	SFRe[101] = SFRe[100] - SFRe[101];
	SFIm[101] = SFIm[100] - SFIm[101];
	SFRe[100] = R;
	SFIm[100] = I;
	Re0 = SFRe[96]; Im0 = SFIm[96];
	Re1 = SFRe[97]; Im1 = SFIm[97];
	Re2 = SFRe[98]; Im2 = SFIm[98];
	Re3 = SFRe[99]; Im3 = SFIm[99];
	SFRe[96] = Re0 + Re1; SFIm[96] = Im0 + Im1;
	SFRe[97] = Re0 - Re1; SFIm[97] = Im0 - Im1;
	SFRe[98] = Re2 + Re3; SFIm[98] = Im2 + Im3;
	SFRe[99] = Im2 - Im3; SFIm[99] = Re3 - Re2;
	RA = SFRe[96] + SFRe[98];
	IA = SFIm[96] + SFIm[98];
	SFRe[98] = SFRe[96] - SFRe[98];
	SFIm[98] = SFIm[96] - SFIm[98];
	SFRe[96] = RA;
	SFIm[96] = IA;
	RA = SFRe[97] + SFRe[99];
	IA = SFIm[97] + SFIm[99];
	SFRe[99] = SFRe[97] - SFRe[99];
	SFIm[99] = SFIm[97] - SFIm[99];
	SFRe[97] = RA;
	SFIm[97] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[100];
	I = SFIm[100];
	SFRe[100] = R * RF1 - I * IF1;
	SFIm[100] = R * IF1 + I * RF1;
	R = SFRe[102];
	I = SFIm[102];
	SFRe[102] = R * RF2 - I * IF2;
	SFIm[102] = R * IF2 + I * RF2;
	R = SFRe[102];
	I = SFIm[102];
	SFRe[102] = SFIm[100] - I;
	SFIm[102] = R - SFRe[100];
	SFRe[100] += R;
	SFIm[100] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[101];
	I = SFIm[101];
	SFRe[101] = R * RF1 - I * IF1;
	SFIm[101] = R * IF1 + I * RF1;
	R = SFRe[103];
	I = SFIm[103];
	SFRe[103] = R * RF2 - I * IF2;
	SFIm[103] = R * IF2 + I * RF2;
	R = SFRe[103];
	I = SFIm[103];
	SFRe[103] = SFIm[101] - I;
	SFIm[103] = R - SFRe[101];
	SFRe[101] += R;
	SFIm[101] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100));
	_mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100)));
	_mm_store_ps(SFIm + 100, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 104);
	mI = _mm_load_ps(SFIm + 104);
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 108, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFIm + 104), mI));
	_mm_store_ps(SFIm + 108, _mm_sub_ps(mR, _mm_load_ps(SFRe + 104)));
	_mm_store_ps(SFRe + 104, _mm_add_ps(_mm_load_ps(SFRe + 104), mR));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_load_ps(SFIm + 104), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 104));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 104));
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 104)));
	_mm_store_ps(SFIm + 104, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 104)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 108));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 108));
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 108)));
	_mm_store_ps(SFIm + 108, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 108)));
	_mm_store_ps(SFRe + 100, mR);
	_mm_store_ps(SFIm + 100, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 112);
	mI = _mm_load_ps(SFIm + 112);
	_mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 112, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 120);
	mI = _mm_load_ps(SFIm + 120);
	_mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 120, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 120);
	mI = _mm_load_ps(SFIm + 120);
	_mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFIm + 112), mI));
	_mm_store_ps(SFIm + 120, _mm_sub_ps(mR, _mm_load_ps(SFRe + 112)));
	_mm_store_ps(SFRe + 112, _mm_add_ps(_mm_load_ps(SFRe + 112), mR));
	_mm_store_ps(SFIm + 112, _mm_add_ps(_mm_load_ps(SFIm + 112), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 116);
	mI = _mm_load_ps(SFIm + 116);
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 116, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 124);
	mI = _mm_load_ps(SFIm + 124);
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 124, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 124);
	mI = _mm_load_ps(SFIm + 124);
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFIm + 116), mI));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(mR, _mm_load_ps(SFRe + 116)));
	_mm_store_ps(SFRe + 116, _mm_add_ps(_mm_load_ps(SFRe + 116), mR));
	_mm_store_ps(SFIm + 116, _mm_add_ps(_mm_load_ps(SFIm + 116), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 112));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 112));
	_mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 112)));
	_mm_store_ps(SFIm + 112, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 112)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 116));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 116));
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 116)));
	_mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 116)));
	_mm_store_ps(SFRe + 100, mR);
	_mm_store_ps(SFIm + 100, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 120));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 120));
	_mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 120)));
	_mm_store_ps(SFIm + 120, _mm_sub_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 120)));
	_mm_store_ps(SFRe + 104, mR);
	_mm_store_ps(SFIm + 104, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 124));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 124));
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 124)));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 124)));
	_mm_store_ps(SFRe + 108, mR);
	_mm_store_ps(SFIm + 108, mI);
	R = SFRe[94] + SFRe[95];
	I = SFIm[94] + SFIm[95];
	SFRe[95] = SFRe[94] - SFRe[95];
	SFIm[95] = SFIm[94] - SFIm[95];
	SFRe[94] = R;
	SFIm[94] = I;
	R = SFRe[92] + SFRe[93];
	I = SFIm[92] + SFIm[93];
	SFRe[93] = SFRe[92] - SFRe[93];
	SFIm[93] = SFIm[92] - SFIm[93];
	SFRe[92] = R;
	SFIm[92] = I;
	Re0 = SFRe[88]; Im0 = SFIm[88];
	Re1 = SFRe[89]; Im1 = SFIm[89];
	Re2 = SFRe[90]; Im2 = SFIm[90];
	Re3 = SFRe[91]; Im3 = SFIm[91];
	SFRe[88] = Re0 + Re1; SFIm[88] = Im0 + Im1;
	SFRe[89] = Re0 - Re1; SFIm[89] = Im0 - Im1;
	SFRe[90] = Re2 + Re3; SFIm[90] = Im2 + Im3;
	SFRe[91] = Im2 - Im3; SFIm[91] = Re3 - Re2;
	RA = SFRe[88] + SFRe[90];
	IA = SFIm[88] + SFIm[90];
	SFRe[90] = SFRe[88] - SFRe[90];
	SFIm[90] = SFIm[88] - SFIm[90];
	SFRe[88] = RA;
	SFIm[88] = IA;
	RA = SFRe[89] + SFRe[91];
	IA = SFIm[89] + SFIm[91];
	SFRe[91] = SFRe[89] - SFRe[91];
	SFIm[91] = SFIm[89] - SFIm[91];
	SFRe[89] = RA;
	SFIm[89] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[92];
	I = SFIm[92];
	SFRe[92] = R * RF1 - I * IF1;
	SFIm[92] = R * IF1 + I * RF1;
	R = SFRe[94];
	I = SFIm[94];
	SFRe[94] = R * RF2 - I * IF2;
	SFIm[94] = R * IF2 + I * RF2;
	R = SFRe[94];
	I = SFIm[94];
	SFRe[94] = SFIm[92] - I;
	SFIm[94] = R - SFRe[92];
	SFRe[92] += R;
	SFIm[92] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[93];
	I = SFIm[93];
	SFRe[93] = R * RF1 - I * IF1;
	SFIm[93] = R * IF1 + I * RF1;
	R = SFRe[95];
	I = SFIm[95];
	SFRe[95] = R * RF2 - I * IF2;
	SFIm[95] = R * IF2 + I * RF2;
	R = SFRe[95];
	I = SFIm[95];
	SFRe[95] = SFIm[93] - I;
	SFIm[95] = R - SFRe[93];
	SFRe[93] += R;
	SFIm[93] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92));
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92)));
	_mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92)));
	_mm_store_ps(SFRe + 88, mR);
	_mm_store_ps(SFIm + 88, mI);
	R = SFRe[86] + SFRe[87];
	I = SFIm[86] + SFIm[87];
	SFRe[87] = SFRe[86] - SFRe[87];
	SFIm[87] = SFIm[86] - SFIm[87];
	SFRe[86] = R;
	SFIm[86] = I;
	R = SFRe[84] + SFRe[85];
	I = SFIm[84] + SFIm[85];
	SFRe[85] = SFRe[84] - SFRe[85];
	SFIm[85] = SFIm[84] - SFIm[85];
	SFRe[84] = R;
	SFIm[84] = I;
	Re0 = SFRe[80]; Im0 = SFIm[80];
	Re1 = SFRe[81]; Im1 = SFIm[81];
	Re2 = SFRe[82]; Im2 = SFIm[82];
	Re3 = SFRe[83]; Im3 = SFIm[83];
	SFRe[80] = Re0 + Re1; SFIm[80] = Im0 + Im1;
	SFRe[81] = Re0 - Re1; SFIm[81] = Im0 - Im1;
	SFRe[82] = Re2 + Re3; SFIm[82] = Im2 + Im3;
	SFRe[83] = Im2 - Im3; SFIm[83] = Re3 - Re2;
	RA = SFRe[80] + SFRe[82];
	IA = SFIm[80] + SFIm[82];
	SFRe[82] = SFRe[80] - SFRe[82];
	SFIm[82] = SFIm[80] - SFIm[82];
	SFRe[80] = RA;
	SFIm[80] = IA;
	RA = SFRe[81] + SFRe[83];
	IA = SFIm[81] + SFIm[83];
	SFRe[83] = SFRe[81] - SFRe[83];
	SFIm[83] = SFIm[81] - SFIm[83];
	SFRe[81] = RA;
	SFIm[81] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[84];
	I = SFIm[84];
	SFRe[84] = R * RF1 - I * IF1;
	SFIm[84] = R * IF1 + I * RF1;
	R = SFRe[86];
	I = SFIm[86];
	SFRe[86] = R * RF2 - I * IF2;
	SFIm[86] = R * IF2 + I * RF2;
	R = SFRe[86];
	I = SFIm[86];
	SFRe[86] = SFIm[84] - I;
	SFIm[86] = R - SFRe[84];
	SFRe[84] += R;
	SFIm[84] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[85];
	I = SFIm[85];
	SFRe[85] = R * RF1 - I * IF1;
	SFIm[85] = R * IF1 + I * RF1;
	R = SFRe[87];
	I = SFIm[87];
	SFRe[87] = R * RF2 - I * IF2;
	SFIm[87] = R * IF2 + I * RF2;
	R = SFRe[87];
	I = SFIm[87];
	SFRe[87] = SFIm[85] - I;
	SFIm[87] = R - SFRe[85];
	SFRe[85] += R;
	SFIm[85] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84));
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84)));
	_mm_store_ps(SFRe + 80, mR);
	_mm_store_ps(SFIm + 80, mI);
	Re0 = SFRe[76]; Im0 = SFIm[76];
	Re1 = SFRe[77]; Im1 = SFIm[77];
	Re2 = SFRe[78]; Im2 = SFIm[78];
	Re3 = SFRe[79]; Im3 = SFIm[79];
	SFRe[76] = Re0 + Re1; SFIm[76] = Im0 + Im1;
	SFRe[77] = Re0 - Re1; SFIm[77] = Im0 - Im1;
	SFRe[78] = Re2 + Re3; SFIm[78] = Im2 + Im3;
	SFRe[79] = Im2 - Im3; SFIm[79] = Re3 - Re2;
	RA = SFRe[76] + SFRe[78];
	IA = SFIm[76] + SFIm[78];
	SFRe[78] = SFRe[76] - SFRe[78];
	SFIm[78] = SFIm[76] - SFIm[78];
	SFRe[76] = RA;
	SFIm[76] = IA;
	RA = SFRe[77] + SFRe[79];
	IA = SFIm[77] + SFIm[79];
	SFRe[79] = SFRe[77] - SFRe[79];
	SFIm[79] = SFIm[77] - SFIm[79];
	SFRe[77] = RA;
	SFIm[77] = IA;
	Re0 = SFRe[72]; Im0 = SFIm[72];
	Re1 = SFRe[73]; Im1 = SFIm[73];
	Re2 = SFRe[74]; Im2 = SFIm[74];
	Re3 = SFRe[75]; Im3 = SFIm[75];
	SFRe[72] = Re0 + Re1; SFIm[72] = Im0 + Im1;
	SFRe[73] = Re0 - Re1; SFIm[73] = Im0 - Im1;
	SFRe[74] = Re2 + Re3; SFIm[74] = Im2 + Im3;
	SFRe[75] = Im2 - Im3; SFIm[75] = Re3 - Re2;
	RA = SFRe[72] + SFRe[74];
	IA = SFIm[72] + SFIm[74];
	SFRe[74] = SFRe[72] - SFRe[74];
	SFIm[74] = SFIm[72] - SFIm[74];
	SFRe[72] = RA;
	SFIm[72] = IA;
	RA = SFRe[73] + SFRe[75];
	IA = SFIm[73] + SFIm[75];
	SFRe[75] = SFRe[73] - SFRe[75];
	SFIm[75] = SFIm[73] - SFIm[75];
	SFRe[73] = RA;
	SFIm[73] = IA;
	R = SFRe[70] + SFRe[71];
	I = SFIm[70] + SFIm[71];
	SFRe[71] = SFRe[70] - SFRe[71];
	SFIm[71] = SFIm[70] - SFIm[71];
	SFRe[70] = R;
	SFIm[70] = I;
	R = SFRe[68] + SFRe[69];
	I = SFIm[68] + SFIm[69];
	SFRe[69] = SFRe[68] - SFRe[69];
	SFIm[69] = SFIm[68] - SFIm[69];
	SFRe[68] = R;
	SFIm[68] = I;
	Re0 = SFRe[64]; Im0 = SFIm[64];
	Re1 = SFRe[65]; Im1 = SFIm[65];
	Re2 = SFRe[66]; Im2 = SFIm[66];
	Re3 = SFRe[67]; Im3 = SFIm[67];
	SFRe[64] = Re0 + Re1; SFIm[64] = Im0 + Im1;
	SFRe[65] = Re0 - Re1; SFIm[65] = Im0 - Im1;
	SFRe[66] = Re2 + Re3; SFIm[66] = Im2 + Im3;
	SFRe[67] = Im2 - Im3; SFIm[67] = Re3 - Re2;
	RA = SFRe[64] + SFRe[66];
	IA = SFIm[64] + SFIm[66];
	SFRe[66] = SFRe[64] - SFRe[66];
	SFIm[66] = SFIm[64] - SFIm[66];
	SFRe[64] = RA;
	SFIm[64] = IA;
	RA = SFRe[65] + SFRe[67];
	IA = SFIm[65] + SFIm[67];
	SFRe[67] = SFRe[65] - SFRe[67];
	SFIm[67] = SFIm[65] - SFIm[67];
	SFRe[65] = RA;
	SFIm[65] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[68];
	I = SFIm[68];
	SFRe[68] = R * RF1 - I * IF1;
	SFIm[68] = R * IF1 + I * RF1;
	R = SFRe[70];
	I = SFIm[70];
	SFRe[70] = R * RF2 - I * IF2;
	SFIm[70] = R * IF2 + I * RF2;
	R = SFRe[70];
	I = SFIm[70];
	SFRe[70] = SFIm[68] - I;
	SFIm[70] = R - SFRe[68];
	SFRe[68] += R;
	SFIm[68] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[69];
	I = SFIm[69];
	SFRe[69] = R * RF1 - I * IF1;
	SFIm[69] = R * IF1 + I * RF1;
	R = SFRe[71];
	I = SFIm[71];
	SFRe[71] = R * RF2 - I * IF2;
	SFIm[71] = R * IF2 + I * RF2;
	R = SFRe[71];
	I = SFIm[71];
	SFRe[71] = SFIm[69] - I;
	SFIm[71] = R - SFRe[69];
	SFRe[69] += R;
	SFIm[69] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68));
	_mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68)));
	_mm_store_ps(SFIm + 68, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 72);
	mI = _mm_load_ps(SFIm + 72);
	_mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 76, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFIm + 72), mI));
	_mm_store_ps(SFIm + 76, _mm_sub_ps(mR, _mm_load_ps(SFRe + 72)));
	_mm_store_ps(SFRe + 72, _mm_add_ps(_mm_load_ps(SFRe + 72), mR));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_load_ps(SFIm + 72), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 72));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 72));
	_mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 72)));
	_mm_store_ps(SFIm + 72, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 72)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 76));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 76));
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 76)));
	_mm_store_ps(SFIm + 76, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 76)));
	_mm_store_ps(SFRe + 68, mR);
	_mm_store_ps(SFIm + 68, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 80);
	mI = _mm_load_ps(SFIm + 80);
	_mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 80, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 88);
	mI = _mm_load_ps(SFIm + 88);
	_mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 88, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 88);
	mI = _mm_load_ps(SFIm + 88);
	_mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_load_ps(SFIm + 80), mI));
	_mm_store_ps(SFIm + 88, _mm_sub_ps(mR, _mm_load_ps(SFRe + 80)));
	_mm_store_ps(SFRe + 80, _mm_add_ps(_mm_load_ps(SFRe + 80), mR));
	_mm_store_ps(SFIm + 80, _mm_add_ps(_mm_load_ps(SFIm + 80), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 84);
	mI = _mm_load_ps(SFIm + 84);
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 84, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 92);
	mI = _mm_load_ps(SFIm + 92);
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 92, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 92);
	mI = _mm_load_ps(SFIm + 92);
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFIm + 84), mI));
	_mm_store_ps(SFIm + 92, _mm_sub_ps(mR, _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFRe + 84, _mm_add_ps(_mm_load_ps(SFRe + 84), mR));
	_mm_store_ps(SFIm + 84, _mm_add_ps(_mm_load_ps(SFIm + 84), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 80));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 80));
	_mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 80)));
	_mm_store_ps(SFIm + 80, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 80)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 84));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 84));
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 84)));
	_mm_store_ps(SFRe + 68, mR);
	_mm_store_ps(SFIm + 68, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 88));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 88));
	_mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 88)));
	_mm_store_ps(SFIm + 88, _mm_sub_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 88)));
	_mm_store_ps(SFRe + 72, mR);
	_mm_store_ps(SFIm + 72, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 92));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 92));
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 92)));
	_mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 92)));
	_mm_store_ps(SFRe + 76, mR);
	_mm_store_ps(SFIm + 76, mI);
	Re0 = SFRe[60]; Im0 = SFIm[60];
	Re1 = SFRe[61]; Im1 = SFIm[61];
	Re2 = SFRe[62]; Im2 = SFIm[62];
	Re3 = SFRe[63]; Im3 = SFIm[63];
	SFRe[60] = Re0 + Re1; SFIm[60] = Im0 + Im1;
	SFRe[61] = Re0 - Re1; SFIm[61] = Im0 - Im1;
	SFRe[62] = Re2 + Re3; SFIm[62] = Im2 + Im3;
	SFRe[63] = Im2 - Im3; SFIm[63] = Re3 - Re2;
	RA = SFRe[60] + SFRe[62];
	IA = SFIm[60] + SFIm[62];
	SFRe[62] = SFRe[60] - SFRe[62];
	SFIm[62] = SFIm[60] - SFIm[62];
	SFRe[60] = RA;
	SFIm[60] = IA;
	RA = SFRe[61] + SFRe[63];
	IA = SFIm[61] + SFIm[63];
	SFRe[63] = SFRe[61] - SFRe[63];
	SFIm[63] = SFIm[61] - SFIm[63];
	SFRe[61] = RA;
	SFIm[61] = IA;
	Re0 = SFRe[56]; Im0 = SFIm[56];
	Re1 = SFRe[57]; Im1 = SFIm[57];
	Re2 = SFRe[58]; Im2 = SFIm[58];
	Re3 = SFRe[59]; Im3 = SFIm[59];
	SFRe[56] = Re0 + Re1; SFIm[56] = Im0 + Im1;
	SFRe[57] = Re0 - Re1; SFIm[57] = Im0 - Im1;
	SFRe[58] = Re2 + Re3; SFIm[58] = Im2 + Im3;
	SFRe[59] = Im2 - Im3; SFIm[59] = Re3 - Re2;
	RA = SFRe[56] + SFRe[58];
	IA = SFIm[56] + SFIm[58];
	SFRe[58] = SFRe[56] - SFRe[58];
	SFIm[58] = SFIm[56] - SFIm[58];
	SFRe[56] = RA;
	SFIm[56] = IA;
	RA = SFRe[57] + SFRe[59];
	IA = SFIm[57] + SFIm[59];
	SFRe[59] = SFRe[57] - SFRe[59];
	SFIm[59] = SFIm[57] - SFIm[59];
	SFRe[57] = RA;
	SFIm[57] = IA;
	R = SFRe[54] + SFRe[55];
	I = SFIm[54] + SFIm[55];
	SFRe[55] = SFRe[54] - SFRe[55];
	SFIm[55] = SFIm[54] - SFIm[55];
	SFRe[54] = R;
	SFIm[54] = I;
	R = SFRe[52] + SFRe[53];
	I = SFIm[52] + SFIm[53];
	SFRe[53] = SFRe[52] - SFRe[53];
	SFIm[53] = SFIm[52] - SFIm[53];
	SFRe[52] = R;
	SFIm[52] = I;
	Re0 = SFRe[48]; Im0 = SFIm[48];
	Re1 = SFRe[49]; Im1 = SFIm[49];
	Re2 = SFRe[50]; Im2 = SFIm[50];
	Re3 = SFRe[51]; Im3 = SFIm[51];
	SFRe[48] = Re0 + Re1; SFIm[48] = Im0 + Im1;
	SFRe[49] = Re0 - Re1; SFIm[49] = Im0 - Im1;
	SFRe[50] = Re2 + Re3; SFIm[50] = Im2 + Im3;
	SFRe[51] = Im2 - Im3; SFIm[51] = Re3 - Re2;
	RA = SFRe[48] + SFRe[50];
	IA = SFIm[48] + SFIm[50];
	SFRe[50] = SFRe[48] - SFRe[50];
	SFIm[50] = SFIm[48] - SFIm[50];
	SFRe[48] = RA;
	SFIm[48] = IA;
	RA = SFRe[49] + SFRe[51];
	IA = SFIm[49] + SFIm[51];
	SFRe[51] = SFRe[49] - SFRe[51];
	SFIm[51] = SFIm[49] - SFIm[51];
	SFRe[49] = RA;
	SFIm[49] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[52];
	I = SFIm[52];
	SFRe[52] = R * RF1 - I * IF1;
	SFIm[52] = R * IF1 + I * RF1;
	R = SFRe[54];
	I = SFIm[54];
	SFRe[54] = R * RF2 - I * IF2;
	SFIm[54] = R * IF2 + I * RF2;
	R = SFRe[54];
	I = SFIm[54];
	SFRe[54] = SFIm[52] - I;
	SFIm[54] = R - SFRe[52];
	SFRe[52] += R;
	SFIm[52] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[53];
	I = SFIm[53];
	SFRe[53] = R * RF1 - I * IF1;
	SFIm[53] = R * IF1 + I * RF1;
	R = SFRe[55];
	I = SFIm[55];
	SFRe[55] = R * RF2 - I * IF2;
	SFIm[55] = R * IF2 + I * RF2;
	R = SFRe[55];
	I = SFIm[55];
	SFRe[55] = SFIm[53] - I;
	SFIm[55] = R - SFRe[53];
	SFRe[53] += R;
	SFIm[53] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52));
	_mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52)));
	_mm_store_ps(SFIm + 52, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 56);
	mI = _mm_load_ps(SFIm + 56);
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 60, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFIm + 56), mI));
	_mm_store_ps(SFIm + 60, _mm_sub_ps(mR, _mm_load_ps(SFRe + 56)));
	_mm_store_ps(SFRe + 56, _mm_add_ps(_mm_load_ps(SFRe + 56), mR));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_load_ps(SFIm + 56), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 56));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 56));
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 56)));
	_mm_store_ps(SFIm + 56, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 56)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 60));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 60));
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 60)));
	_mm_store_ps(SFIm + 60, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 60)));
	_mm_store_ps(SFRe + 52, mR);
	_mm_store_ps(SFIm + 52, mI);
	Re0 = SFRe[44]; Im0 = SFIm[44];
	Re1 = SFRe[45]; Im1 = SFIm[45];
	Re2 = SFRe[46]; Im2 = SFIm[46];
	Re3 = SFRe[47]; Im3 = SFIm[47];
	SFRe[44] = Re0 + Re1; SFIm[44] = Im0 + Im1;
	SFRe[45] = Re0 - Re1; SFIm[45] = Im0 - Im1;
	SFRe[46] = Re2 + Re3; SFIm[46] = Im2 + Im3;
	SFRe[47] = Im2 - Im3; SFIm[47] = Re3 - Re2;
	RA = SFRe[44] + SFRe[46];
	IA = SFIm[44] + SFIm[46];
	SFRe[46] = SFRe[44] - SFRe[46];
	SFIm[46] = SFIm[44] - SFIm[46];
	SFRe[44] = RA;
	SFIm[44] = IA;
	RA = SFRe[45] + SFRe[47];
	IA = SFIm[45] + SFIm[47];
	SFRe[47] = SFRe[45] - SFRe[47];
	SFIm[47] = SFIm[45] - SFIm[47];
	SFRe[45] = RA;
	SFIm[45] = IA;
	Re0 = SFRe[40]; Im0 = SFIm[40];
	Re1 = SFRe[41]; Im1 = SFIm[41];
	Re2 = SFRe[42]; Im2 = SFIm[42];
	Re3 = SFRe[43]; Im3 = SFIm[43];
	SFRe[40] = Re0 + Re1; SFIm[40] = Im0 + Im1;
	SFRe[41] = Re0 - Re1; SFIm[41] = Im0 - Im1;
	SFRe[42] = Re2 + Re3; SFIm[42] = Im2 + Im3;
	SFRe[43] = Im2 - Im3; SFIm[43] = Re3 - Re2;
	RA = SFRe[40] + SFRe[42];
	IA = SFIm[40] + SFIm[42];
	SFRe[42] = SFRe[40] - SFRe[42];
	SFIm[42] = SFIm[40] - SFIm[42];
	SFRe[40] = RA;
	SFIm[40] = IA;
	RA = SFRe[41] + SFRe[43];
	IA = SFIm[41] + SFIm[43];
	SFRe[43] = SFRe[41] - SFRe[43];
	SFIm[43] = SFIm[41] - SFIm[43];
	SFRe[41] = RA;
	SFIm[41] = IA;
	R = SFRe[38] + SFRe[39];
	I = SFIm[38] + SFIm[39];
	SFRe[39] = SFRe[38] - SFRe[39];
	SFIm[39] = SFIm[38] - SFIm[39];
	SFRe[38] = R;
	SFIm[38] = I;
	R = SFRe[36] + SFRe[37];
	I = SFIm[36] + SFIm[37];
	SFRe[37] = SFRe[36] - SFRe[37];
	SFIm[37] = SFIm[36] - SFIm[37];
	SFRe[36] = R;
	SFIm[36] = I;
	Re0 = SFRe[32]; Im0 = SFIm[32];
	Re1 = SFRe[33]; Im1 = SFIm[33];
	Re2 = SFRe[34]; Im2 = SFIm[34];
	Re3 = SFRe[35]; Im3 = SFIm[35];
	SFRe[32] = Re0 + Re1; SFIm[32] = Im0 + Im1;
	SFRe[33] = Re0 - Re1; SFIm[33] = Im0 - Im1;
	SFRe[34] = Re2 + Re3; SFIm[34] = Im2 + Im3;
	SFRe[35] = Im2 - Im3; SFIm[35] = Re3 - Re2;
	RA = SFRe[32] + SFRe[34];
	IA = SFIm[32] + SFIm[34];
	SFRe[34] = SFRe[32] - SFRe[34];
	SFIm[34] = SFIm[32] - SFIm[34];
	SFRe[32] = RA;
	SFIm[32] = IA;
	RA = SFRe[33] + SFRe[35];
	IA = SFIm[33] + SFIm[35];
	SFRe[35] = SFRe[33] - SFRe[35];
	SFIm[35] = SFIm[33] - SFIm[35];
	SFRe[33] = RA;
	SFIm[33] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[36];
	I = SFIm[36];
	SFRe[36] = R * RF1 - I * IF1;
	SFIm[36] = R * IF1 + I * RF1;
	R = SFRe[38];
	I = SFIm[38];
	SFRe[38] = R * RF2 - I * IF2;
	SFIm[38] = R * IF2 + I * RF2;
	R = SFRe[38];
	I = SFIm[38];
	SFRe[38] = SFIm[36] - I;
	SFIm[38] = R - SFRe[36];
	SFRe[36] += R;
	SFIm[36] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[37];
	I = SFIm[37];
	SFRe[37] = R * RF1 - I * IF1;
	SFIm[37] = R * IF1 + I * RF1;
	R = SFRe[39];
	I = SFIm[39];
	SFRe[39] = R * RF2 - I * IF2;
	SFIm[39] = R * IF2 + I * RF2;
	R = SFRe[39];
	I = SFIm[39];
	SFRe[39] = SFIm[37] - I;
	SFIm[39] = R - SFRe[37];
	SFRe[37] += R;
	SFIm[37] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36));
	_mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36)));
	_mm_store_ps(SFIm + 36, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 40);
	mI = _mm_load_ps(SFIm + 40);
	_mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 44, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFIm + 40), mI));
	_mm_store_ps(SFIm + 44, _mm_sub_ps(mR, _mm_load_ps(SFRe + 40)));
	_mm_store_ps(SFRe + 40, _mm_add_ps(_mm_load_ps(SFRe + 40), mR));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_load_ps(SFIm + 40), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 40));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 40));
	_mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 40)));
	_mm_store_ps(SFIm + 40, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 40)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 44));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 44));
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 44)));
	_mm_store_ps(SFIm + 44, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 44)));
	_mm_store_ps(SFRe + 36, mR);
	_mm_store_ps(SFIm + 36, mI);
	R = SFRe[30] + SFRe[31];
	I = SFIm[30] + SFIm[31];
	SFRe[31] = SFRe[30] - SFRe[31];
	SFIm[31] = SFIm[30] - SFIm[31];
	SFRe[30] = R;
	SFIm[30] = I;
	R = SFRe[28] + SFRe[29];
	I = SFIm[28] + SFIm[29];
	SFRe[29] = SFRe[28] - SFRe[29];
	SFIm[29] = SFIm[28] - SFIm[29];
	SFRe[28] = R;
	SFIm[28] = I;
	Re0 = SFRe[24]; Im0 = SFIm[24];
	Re1 = SFRe[25]; Im1 = SFIm[25];
	Re2 = SFRe[26]; Im2 = SFIm[26];
	Re3 = SFRe[27]; Im3 = SFIm[27];
	SFRe[24] = Re0 + Re1; SFIm[24] = Im0 + Im1;
	SFRe[25] = Re0 - Re1; SFIm[25] = Im0 - Im1;
	SFRe[26] = Re2 + Re3; SFIm[26] = Im2 + Im3;
	SFRe[27] = Im2 - Im3; SFIm[27] = Re3 - Re2;
	RA = SFRe[24] + SFRe[26];
	IA = SFIm[24] + SFIm[26];
	SFRe[26] = SFRe[24] - SFRe[26];
	SFIm[26] = SFIm[24] - SFIm[26];
	SFRe[24] = RA;
	SFIm[24] = IA;
	RA = SFRe[25] + SFRe[27];
	IA = SFIm[25] + SFIm[27];
	SFRe[27] = SFRe[25] - SFRe[27];
	SFIm[27] = SFIm[25] - SFIm[27];
	SFRe[25] = RA;
	SFIm[25] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[28];
	I = SFIm[28];
	SFRe[28] = R * RF1 - I * IF1;
	SFIm[28] = R * IF1 + I * RF1;
	R = SFRe[30];
	I = SFIm[30];
	SFRe[30] = R * RF2 - I * IF2;
	SFIm[30] = R * IF2 + I * RF2;
	R = SFRe[30];
	I = SFIm[30];
	SFRe[30] = SFIm[28] - I;
	SFIm[30] = R - SFRe[28];
	SFRe[28] += R;
	SFIm[28] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[29];
	I = SFIm[29];
	SFRe[29] = R * RF1 - I * IF1;
	SFIm[29] = R * IF1 + I * RF1;
	R = SFRe[31];
	I = SFIm[31];
	SFRe[31] = R * RF2 - I * IF2;
	SFIm[31] = R * IF2 + I * RF2;
	R = SFRe[31];
	I = SFIm[31];
	SFRe[31] = SFIm[29] - I;
	SFIm[31] = R - SFRe[29];
	SFRe[29] += R;
	SFIm[29] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28));
	_mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28)));
	_mm_store_ps(SFIm + 28, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	R = SFRe[22] + SFRe[23];
	I = SFIm[22] + SFIm[23];
	SFRe[23] = SFRe[22] - SFRe[23];
	SFIm[23] = SFIm[22] - SFIm[23];
	SFRe[22] = R;
	SFIm[22] = I;
	R = SFRe[20] + SFRe[21];
	I = SFIm[20] + SFIm[21];
	SFRe[21] = SFRe[20] - SFRe[21];
	SFIm[21] = SFIm[20] - SFIm[21];
	SFRe[20] = R;
	SFIm[20] = I;
	Re0 = SFRe[16]; Im0 = SFIm[16];
	Re1 = SFRe[17]; Im1 = SFIm[17];
	Re2 = SFRe[18]; Im2 = SFIm[18];
	Re3 = SFRe[19]; Im3 = SFIm[19];
	SFRe[16] = Re0 + Re1; SFIm[16] = Im0 + Im1;
	SFRe[17] = Re0 - Re1; SFIm[17] = Im0 - Im1;
	SFRe[18] = Re2 + Re3; SFIm[18] = Im2 + Im3;
	SFRe[19] = Im2 - Im3; SFIm[19] = Re3 - Re2;
	RA = SFRe[16] + SFRe[18];
	IA = SFIm[16] + SFIm[18];
	SFRe[18] = SFRe[16] - SFRe[18];
	SFIm[18] = SFIm[16] - SFIm[18];
	SFRe[16] = RA;
	SFIm[16] = IA;
	RA = SFRe[17] + SFRe[19];
	IA = SFIm[17] + SFIm[19];
	SFRe[19] = SFRe[17] - SFRe[19];
	SFIm[19] = SFIm[17] - SFIm[19];
	SFRe[17] = RA;
	SFIm[17] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[20];
	I = SFIm[20];
	SFRe[20] = R * RF1 - I * IF1;
	SFIm[20] = R * IF1 + I * RF1;
	R = SFRe[22];
	I = SFIm[22];
	SFRe[22] = R * RF2 - I * IF2;
	SFIm[22] = R * IF2 + I * RF2;
	R = SFRe[22];
	I = SFIm[22];
	SFRe[22] = SFIm[20] - I;
	SFIm[22] = R - SFRe[20];
	SFRe[20] += R;
	SFIm[20] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[21];
	I = SFIm[21];
	SFRe[21] = R * RF1 - I * IF1;
	SFIm[21] = R * IF1 + I * RF1;
	R = SFRe[23];
	I = SFIm[23];
	SFRe[23] = R * RF2 - I * IF2;
	SFIm[23] = R * IF2 + I * RF2;
	R = SFRe[23];
	I = SFIm[23];
	SFRe[23] = SFIm[21] - I;
	SFIm[23] = R - SFRe[21];
	SFRe[21] += R;
	SFIm[21] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20));
	_mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20)));
	_mm_store_ps(SFIm + 20, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	Re0 = SFRe[12]; Im0 = SFIm[12];
	Re1 = SFRe[13]; Im1 = SFIm[13];
	Re2 = SFRe[14]; Im2 = SFIm[14];
	Re3 = SFRe[15]; Im3 = SFIm[15];
	SFRe[12] = Re0 + Re1; SFIm[12] = Im0 + Im1;
	SFRe[13] = Re0 - Re1; SFIm[13] = Im0 - Im1;
	SFRe[14] = Re2 + Re3; SFIm[14] = Im2 + Im3;
	SFRe[15] = Im2 - Im3; SFIm[15] = Re3 - Re2;
	RA = SFRe[12] + SFRe[14];
	IA = SFIm[12] + SFIm[14];
	SFRe[14] = SFRe[12] - SFRe[14];
	SFIm[14] = SFIm[12] - SFIm[14];
	SFRe[12] = RA;
	SFIm[12] = IA;
	RA = SFRe[13] + SFRe[15];
	IA = SFIm[13] + SFIm[15];
	SFRe[15] = SFRe[13] - SFRe[15];
	SFIm[15] = SFIm[13] - SFIm[15];
	SFRe[13] = RA;
	SFIm[13] = IA;
	Re0 = SFRe[8]; Im0 = SFIm[8];
	Re1 = SFRe[9]; Im1 = SFIm[9];
	Re2 = SFRe[10]; Im2 = SFIm[10];
	Re3 = SFRe[11]; Im3 = SFIm[11];
	SFRe[8] = Re0 + Re1; SFIm[8] = Im0 + Im1;
	SFRe[9] = Re0 - Re1; SFIm[9] = Im0 - Im1;
	SFRe[10] = Re2 + Re3; SFIm[10] = Im2 + Im3;
	SFRe[11] = Im2 - Im3; SFIm[11] = Re3 - Re2;
	RA = SFRe[8] + SFRe[10];
	IA = SFIm[8] + SFIm[10];
	SFRe[10] = SFRe[8] - SFRe[10];
	SFIm[10] = SFIm[8] - SFIm[10];
	SFRe[8] = RA;
	SFIm[8] = IA;
	RA = SFRe[9] + SFRe[11];
	IA = SFIm[9] + SFIm[11];
	SFRe[11] = SFRe[9] - SFRe[11];
	SFIm[11] = SFIm[9] - SFIm[11];
	SFRe[9] = RA;
	SFIm[9] = IA;
	R = SFRe[6] + SFRe[7];
	I = SFIm[6] + SFIm[7];
	SFRe[7] = SFRe[6] - SFRe[7];
	SFIm[7] = SFIm[6] - SFIm[7];
	SFRe[6] = R;
	SFIm[6] = I;
	R = SFRe[4] + SFRe[5];
	I = SFIm[4] + SFIm[5];
	SFRe[5] = SFRe[4] - SFRe[5];
	SFIm[5] = SFIm[4] - SFIm[5];
	SFRe[4] = R;
	SFIm[4] = I;
	Re0 = SFRe[0]; Im0 = SFIm[0];
	Re1 = SFRe[1]; Im1 = SFIm[1];
	Re2 = SFRe[2]; Im2 = SFIm[2];
	Re3 = SFRe[3]; Im3 = SFIm[3];
	SFRe[0] = Re0 + Re1; SFIm[0] = Im0 + Im1;
	SFRe[1] = Re0 - Re1; SFIm[1] = Im0 - Im1;
	SFRe[2] = Re2 + Re3; SFIm[2] = Im2 + Im3;
	SFRe[3] = Im2 - Im3; SFIm[3] = Re3 - Re2;
	RA = SFRe[0] + SFRe[2];
	IA = SFIm[0] + SFIm[2];
	SFRe[2] = SFRe[0] - SFRe[2];
	SFIm[2] = SFIm[0] - SFIm[2];
	SFRe[0] = RA;
	SFIm[0] = IA;
	RA = SFRe[1] + SFRe[3];
	IA = SFIm[1] + SFIm[3];
	SFRe[3] = SFRe[1] - SFRe[3];
	SFIm[3] = SFIm[1] - SFIm[3];
	SFRe[1] = RA;
	SFIm[1] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[4];
	I = SFIm[4];
	SFRe[4] = R * RF1 - I * IF1;
	SFIm[4] = R * IF1 + I * RF1;
	R = SFRe[6];
	I = SFIm[6];
	SFRe[6] = R * RF2 - I * IF2;
	SFIm[6] = R * IF2 + I * RF2;
	R = SFRe[6];
	I = SFIm[6];
	SFRe[6] = SFIm[4] - I;
	SFIm[6] = R - SFRe[4];
	SFRe[4] += R;
	SFIm[4] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[5];
	I = SFIm[5];
	SFRe[5] = R * RF1 - I * IF1;
	SFIm[5] = R * IF1 + I * RF1;
	R = SFRe[7];
	I = SFIm[7];
	SFRe[7] = R * RF2 - I * IF2;
	SFIm[7] = R * IF2 + I * RF2;
	R = SFRe[7];
	I = SFIm[7];
	SFRe[7] = SFIm[5] - I;
	SFIm[7] = R - SFRe[5];
	SFRe[5] += R;
	SFIm[5] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4));
	_mm_store_ps(SFRe + 4, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4)));
	_mm_store_ps(SFIm + 4, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 8);
	mI = _mm_load_ps(SFIm + 8);
	_mm_store_ps(SFRe + 8, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 8, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 12);
	mI = _mm_load_ps(SFIm + 12);
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 12, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 12);
	mI = _mm_load_ps(SFIm + 12);
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_load_ps(SFIm + 8), mI));
	_mm_store_ps(SFIm + 12, _mm_sub_ps(mR, _mm_load_ps(SFRe + 8)));
	_mm_store_ps(SFRe + 8, _mm_add_ps(_mm_load_ps(SFRe + 8), mR));
	_mm_store_ps(SFIm + 8, _mm_add_ps(_mm_load_ps(SFIm + 8), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 8));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 8));
	_mm_store_ps(SFRe + 8, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 8)));
	_mm_store_ps(SFIm + 8, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 8)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 12));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 12));
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 12)));
	_mm_store_ps(SFIm + 12, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 12)));
	_mm_store_ps(SFRe + 4, mR);
	_mm_store_ps(SFIm + 4, mI);
	mRF1 = _mm_set_ps(0.831492, 0.923896, 0.980794, 1.000000);
	mIF1 = _mm_set_ps(-0.555536, -0.382643, -0.195044, -0.000000);
	mRF2 = _mm_set_ps(-0.195069, 0.382712, 0.831492, 1.000000);
	mIF2 = _mm_set_ps(-0.980790, -0.923868, -0.555536, -0.000000);
	mR = _mm_load_ps(SFRe + 16);
	mI = _mm_load_ps(SFIm + 16);
	_mm_store_ps(SFRe + 16, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 16, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 24);
	mI = _mm_load_ps(SFIm + 24);
	_mm_store_ps(SFRe + 24, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 24, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 24);
	mI = _mm_load_ps(SFIm + 24);
	_mm_store_ps(SFRe + 24, _mm_sub_ps(_mm_load_ps(SFIm + 16), mI));
	_mm_store_ps(SFIm + 24, _mm_sub_ps(mR, _mm_load_ps(SFRe + 16)));
	_mm_store_ps(SFRe + 16, _mm_add_ps(_mm_load_ps(SFRe + 16), mR));
	_mm_store_ps(SFIm + 16, _mm_add_ps(_mm_load_ps(SFIm + 16), mI));
	mRF1 = _mm_set_ps(0.195118, 0.382712, 0.555599, 0.707133);
	mIF1 = _mm_set_ps(-0.980780, -0.923868, -0.831451, -0.707080);
	mRF2 = _mm_set_ps(-0.555599, -0.923896, -0.980785, -0.707098);
	mIF2 = _mm_set_ps(0.831451, 0.382643, -0.195093, -0.707116);
	mR = _mm_load_ps(SFRe + 20);
	mI = _mm_load_ps(SFIm + 20);
	_mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 20, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 28);
	mI = _mm_load_ps(SFIm + 28);
	_mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 28, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 28);
	mI = _mm_load_ps(SFIm + 28);
	_mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFIm + 20), mI));
	_mm_store_ps(SFIm + 28, _mm_sub_ps(mR, _mm_load_ps(SFRe + 20)));
	_mm_store_ps(SFRe + 20, _mm_add_ps(_mm_load_ps(SFRe + 20), mR));
	_mm_store_ps(SFIm + 20, _mm_add_ps(_mm_load_ps(SFIm + 20), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 16));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 16));
	_mm_store_ps(SFRe + 16, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 16)));
	_mm_store_ps(SFIm + 16, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 16)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 20));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 20));
	_mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 20)));
	_mm_store_ps(SFIm + 20, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 20)));
	_mm_store_ps(SFRe + 4, mR);
	_mm_store_ps(SFIm + 4, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 24));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 24));
	_mm_store_ps(SFRe + 24, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 24)));
	_mm_store_ps(SFIm + 24, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 24)));
	_mm_store_ps(SFRe + 8, mR);
	_mm_store_ps(SFIm + 8, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 28));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 28));
	_mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 28)));
	_mm_store_ps(SFIm + 28, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 28)));
	_mm_store_ps(SFRe + 12, mR);
	_mm_store_ps(SFIm + 12, mI);
	mRF1 = _mm_set_ps(0.956946, 0.980794, 0.995187, 1.000000);
	mIF1 = _mm_set_ps(-0.290265, -0.195044, -0.097994, -0.000000);
	mRF2 = _mm_set_ps(0.634402, 0.831492, 0.956946, 1.000000);
	mIF2 = _mm_set_ps(-0.773004, -0.555536, -0.290265, -0.000000);
	mR = _mm_load_ps(SFRe + 32);
	mI = _mm_load_ps(SFIm + 32);
	_mm_store_ps(SFRe + 32, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 32, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 48);
	mI = _mm_load_ps(SFIm + 48);
	_mm_store_ps(SFRe + 48, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 48, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 48);
	mI = _mm_load_ps(SFIm + 48);
	_mm_store_ps(SFRe + 48, _mm_sub_ps(_mm_load_ps(SFIm + 32), mI));
	_mm_store_ps(SFIm + 48, _mm_sub_ps(mR, _mm_load_ps(SFRe + 32)));
	_mm_store_ps(SFRe + 32, _mm_add_ps(_mm_load_ps(SFRe + 32), mR));
	_mm_store_ps(SFIm + 32, _mm_add_ps(_mm_load_ps(SFIm + 32), mI));
	mRF1 = _mm_set_ps(0.773019, 0.831492, 0.881929, 0.923896);
	mIF1 = _mm_set_ps(-0.634382, -0.555536, -0.471382, -0.382643);
	mRF2 = _mm_set_ps(-0.471404, -0.195069, 0.098019, 0.382712);
	mIF2 = _mm_set_ps(-0.881918, -0.980790, -0.995185, -0.923868);
	mR = _mm_load_ps(SFRe + 36);
	mI = _mm_load_ps(SFIm + 36);
	_mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 36, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 52);
	mI = _mm_load_ps(SFIm + 52);
	_mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 52, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 52);
	mI = _mm_load_ps(SFIm + 52);
	_mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFIm + 36), mI));
	_mm_store_ps(SFIm + 52, _mm_sub_ps(mR, _mm_load_ps(SFRe + 36)));
	_mm_store_ps(SFRe + 36, _mm_add_ps(_mm_load_ps(SFRe + 36), mR));
	_mm_store_ps(SFIm + 36, _mm_add_ps(_mm_load_ps(SFIm + 36), mI));
	mRF1 = _mm_set_ps(0.471404, 0.555599, 0.634402, 0.707133);
	mIF1 = _mm_set_ps(-0.881918, -0.831451, -0.773004, -0.707080);
	mRF2 = _mm_set_ps(-0.995187, -0.980785, -0.881929, -0.707098);
	mIF2 = _mm_set_ps(0.097994, -0.195093, -0.471382, -0.707116);
	mR = _mm_load_ps(SFRe + 40);
	mI = _mm_load_ps(SFIm + 40);
	_mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 56);
	mI = _mm_load_ps(SFIm + 56);
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 56);
	mI = _mm_load_ps(SFIm + 56);
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_load_ps(SFIm + 40), mI));
	_mm_store_ps(SFIm + 56, _mm_sub_ps(mR, _mm_load_ps(SFRe + 40)));
	_mm_store_ps(SFRe + 40, _mm_add_ps(_mm_load_ps(SFRe + 40), mR));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_load_ps(SFIm + 40), mI));
	mRF1 = _mm_set_ps(0.098019, 0.195118, 0.290289, 0.382712);
	mIF1 = _mm_set_ps(-0.995185, -0.980780, -0.956939, -0.923868);
	mRF2 = _mm_set_ps(-0.290289, -0.555599, -0.773019, -0.923896);
	mIF2 = _mm_set_ps(0.956939, 0.831451, 0.634382, 0.382643);
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 44, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 60, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFIm + 44), mI));
	_mm_store_ps(SFIm + 60, _mm_sub_ps(mR, _mm_load_ps(SFRe + 44)));
	_mm_store_ps(SFRe + 44, _mm_add_ps(_mm_load_ps(SFRe + 44), mR));
	_mm_store_ps(SFIm + 44, _mm_add_ps(_mm_load_ps(SFIm + 44), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 32));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 32));
	_mm_store_ps(SFRe + 32, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 32)));
	_mm_store_ps(SFIm + 32, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 32)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 36));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 36));
	_mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 36)));
	_mm_store_ps(SFIm + 36, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 36)));
	_mm_store_ps(SFRe + 4, mR);
	_mm_store_ps(SFIm + 4, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 40));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 40));
	_mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 40)));
	_mm_store_ps(SFIm + 40, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 40)));
	_mm_store_ps(SFRe + 8, mR);
	_mm_store_ps(SFIm + 8, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 44));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 44));
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 44)));
	_mm_store_ps(SFIm + 44, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 44)));
	_mm_store_ps(SFRe + 12, mR);
	_mm_store_ps(SFIm + 12, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 48));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 48));
	_mm_store_ps(SFRe + 48, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 48)));
	_mm_store_ps(SFIm + 48, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 48)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 52));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 52));
	_mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 52)));
	_mm_store_ps(SFIm + 52, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 52)));
	_mm_store_ps(SFRe + 20, mR);
	_mm_store_ps(SFIm + 20, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 56));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 56));
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 56)));
	_mm_store_ps(SFIm + 56, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 56)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 60));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 60));
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 60)));
	_mm_store_ps(SFIm + 60, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 60)));
	_mm_store_ps(SFRe + 28, mR);
	_mm_store_ps(SFIm + 28, mI);
	mRF1 = _mm_set_ps(0.989178, 0.995187, 0.998797, 1.000000);
	mIF1 = _mm_set_ps(-0.146720, -0.097994, -0.049031, -0.000000);
	mRF2 = _mm_set_ps(0.904002, 0.956946, 0.989178, 1.000000);
	mIF2 = _mm_set_ps(-0.427528, -0.290265, -0.146720, -0.000000);
	mR = _mm_load_ps(SFRe + 64);
	mI = _mm_load_ps(SFIm + 64);
	_mm_store_ps(SFRe + 64, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 64, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 96);
	mI = _mm_load_ps(SFIm + 96);
	_mm_store_ps(SFRe + 96, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 96, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 96);
	mI = _mm_load_ps(SFIm + 96);
	_mm_store_ps(SFRe + 96, _mm_sub_ps(_mm_load_ps(SFIm + 64), mI));
	_mm_store_ps(SFIm + 96, _mm_sub_ps(mR, _mm_load_ps(SFRe + 64)));
	_mm_store_ps(SFRe + 64, _mm_add_ps(_mm_load_ps(SFRe + 64), mR));
	_mm_store_ps(SFIm + 64, _mm_add_ps(_mm_load_ps(SFIm + 64), mI));
	mRF1 = _mm_set_ps(0.941546, 0.956946, 0.970039, 0.980794);
	mIF1 = _mm_set_ps(-0.336883, -0.290265, -0.242948, -0.195044);
	mRF2 = _mm_set_ps(0.514121, 0.634402, 0.740952, 0.831492);
	mIF2 = _mm_set_ps(-0.857718, -0.773004, -0.671558, -0.555536);
	mR = _mm_load_ps(SFRe + 68);
	mI = _mm_load_ps(SFIm + 68);
	_mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 68, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 100);
	mI = _mm_load_ps(SFIm + 100);
	_mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 100, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 100);
	mI = _mm_load_ps(SFIm + 100);
	_mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFIm + 68), mI));
	_mm_store_ps(SFIm + 100, _mm_sub_ps(mR, _mm_load_ps(SFRe + 68)));
	_mm_store_ps(SFRe + 68, _mm_add_ps(_mm_load_ps(SFRe + 68), mR));
	_mm_store_ps(SFIm + 68, _mm_add_ps(_mm_load_ps(SFIm + 68), mI));
	mRF1 = _mm_set_ps(0.857731, 0.881929, 0.904002, 0.923896);
	mIF1 = _mm_set_ps(-0.514099, -0.471382, -0.427528, -0.382643);
	mRF2 = _mm_set_ps(-0.049056, 0.098019, 0.242972, 0.382712);
	mIF2 = _mm_set_ps(-0.998796, -0.995185, -0.970033, -0.923868);
	mR = _mm_load_ps(SFRe + 72);
	mI = _mm_load_ps(SFIm + 72);
	_mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 104);
	mI = _mm_load_ps(SFIm + 104);
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 104);
	mI = _mm_load_ps(SFIm + 104);
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_load_ps(SFIm + 72), mI));
	_mm_store_ps(SFIm + 104, _mm_sub_ps(mR, _mm_load_ps(SFRe + 72)));
	_mm_store_ps(SFRe + 72, _mm_add_ps(_mm_load_ps(SFRe + 72), mR));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_load_ps(SFIm + 72), mI));
	mRF1 = _mm_set_ps(0.740952, 0.773019, 0.803224, 0.831492);
	mIF1 = _mm_set_ps(-0.671558, -0.634382, -0.595677, -0.555536);
	mRF2 = _mm_set_ps(-0.595697, -0.471404, -0.336907, -0.195069);
	mIF2 = _mm_set_ps(-0.803209, -0.881918, -0.941538, -0.980790);
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 76, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 108, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFIm + 76), mI));
	_mm_store_ps(SFIm + 108, _mm_sub_ps(mR, _mm_load_ps(SFRe + 76)));
	_mm_store_ps(SFRe + 76, _mm_add_ps(_mm_load_ps(SFRe + 76), mR));
	_mm_store_ps(SFIm + 76, _mm_add_ps(_mm_load_ps(SFIm + 76), mI));
	mRF1 = _mm_set_ps(0.595697, 0.634402, 0.671577, 0.707133);
	mIF1 = _mm_set_ps(-0.803209, -0.773004, -0.740935, -0.707080);
	mRF2 = _mm_set_ps(-0.941546, -0.881929, -0.803224, -0.707098);
	mIF2 = _mm_set_ps(-0.336883, -0.471382, -0.595677, -0.707116);
	mR = _mm_load_ps(SFRe + 80);
	mI = _mm_load_ps(SFIm + 80);
	_mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 80, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 112);
	mI = _mm_load_ps(SFIm + 112);
	_mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 112, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 112);
	mI = _mm_load_ps(SFIm + 112);
	_mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_load_ps(SFIm + 80), mI));
	_mm_store_ps(SFIm + 112, _mm_sub_ps(mR, _mm_load_ps(SFRe + 80)));
	_mm_store_ps(SFRe + 80, _mm_add_ps(_mm_load_ps(SFRe + 80), mR));
	_mm_store_ps(SFIm + 80, _mm_add_ps(_mm_load_ps(SFIm + 80), mI));
	mRF1 = _mm_set_ps(0.427550, 0.471404, 0.514121, 0.555599);
	mIF1 = _mm_set_ps(-0.903992, -0.881918, -0.857718, -0.831451);
	mRF2 = _mm_set_ps(-0.970039, -0.995187, -0.998797, -0.980785);
	mIF2 = _mm_set_ps(0.242948, 0.097994, -0.049031, -0.195093);
	mR = _mm_load_ps(SFRe + 84);
	mI = _mm_load_ps(SFIm + 84);
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 84, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 116);
	mI = _mm_load_ps(SFIm + 116);
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 116, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 116);
	mI = _mm_load_ps(SFIm + 116);
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFIm + 84), mI));
	_mm_store_ps(SFIm + 116, _mm_sub_ps(mR, _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFRe + 84, _mm_add_ps(_mm_load_ps(SFRe + 84), mR));
	_mm_store_ps(SFIm + 84, _mm_add_ps(_mm_load_ps(SFIm + 84), mI));
	mRF1 = _mm_set_ps(0.242972, 0.290289, 0.336907, 0.382712);
	mIF1 = _mm_set_ps(-0.970033, -0.956939, -0.941538, -0.923868);
	mRF2 = _mm_set_ps(-0.671577, -0.773019, -0.857731, -0.923896);
	mIF2 = _mm_set_ps(0.740935, 0.634382, 0.514099, 0.382643);
	mR = _mm_load_ps(SFRe + 88);
	mI = _mm_load_ps(SFIm + 88);
	_mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 88, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 120);
	mI = _mm_load_ps(SFIm + 120);
	_mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 120, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 120);
	mI = _mm_load_ps(SFIm + 120);
	_mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFIm + 88), mI));
	_mm_store_ps(SFIm + 120, _mm_sub_ps(mR, _mm_load_ps(SFRe + 88)));
	_mm_store_ps(SFRe + 88, _mm_add_ps(_mm_load_ps(SFRe + 88), mR));
	_mm_store_ps(SFIm + 88, _mm_add_ps(_mm_load_ps(SFIm + 88), mI));
	mRF1 = _mm_set_ps(0.049056, 0.098019, 0.146745, 0.195118);
	mIF1 = _mm_set_ps(-0.998796, -0.995185, -0.989174, -0.980780);
	mRF2 = _mm_set_ps(-0.146745, -0.290289, -0.427550, -0.555599);
	mIF2 = _mm_set_ps(0.989174, 0.956939, 0.903992, 0.831451);
	mR = _mm_load_ps(SFRe + 92);
	mI = _mm_load_ps(SFIm + 92);
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 92, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 124);
	mI = _mm_load_ps(SFIm + 124);
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 124, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 124);
	mI = _mm_load_ps(SFIm + 124);
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFIm + 92), mI));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(mR, _mm_load_ps(SFRe + 92)));
	_mm_store_ps(SFRe + 92, _mm_add_ps(_mm_load_ps(SFRe + 92), mR));
	_mm_store_ps(SFIm + 92, _mm_add_ps(_mm_load_ps(SFIm + 92), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 64));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 64));
	_mm_store_ps(SFRe + 64, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 64)));
	_mm_store_ps(SFIm + 64, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 64)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 68));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 68));
	_mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 68)));
	_mm_store_ps(SFIm + 68, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 68)));
	_mm_store_ps(SFRe + 4, mR);
	_mm_store_ps(SFIm + 4, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 72));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 72));
	_mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 72)));
	_mm_store_ps(SFIm + 72, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 72)));
	_mm_store_ps(SFRe + 8, mR);
	_mm_store_ps(SFIm + 8, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 76));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 76));
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 76)));
	_mm_store_ps(SFIm + 76, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 76)));
	_mm_store_ps(SFRe + 12, mR);
	_mm_store_ps(SFIm + 12, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 80));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 80));
	_mm_store_ps(SFRe + 80, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 80)));
	_mm_store_ps(SFIm + 80, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 80)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 84));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 84));
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 84)));
	_mm_store_ps(SFRe + 20, mR);
	_mm_store_ps(SFIm + 20, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 88));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 88));
	_mm_store_ps(SFRe + 88, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 88)));
	_mm_store_ps(SFIm + 88, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 88)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 92));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 92));
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 92)));
	_mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 92)));
	_mm_store_ps(SFRe + 28, mR);
	_mm_store_ps(SFIm + 28, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 96));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 96));
	_mm_store_ps(SFRe + 96, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 96)));
	_mm_store_ps(SFIm + 96, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 96)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 100));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 100));
	_mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 100)));
	_mm_store_ps(SFIm + 100, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 100)));
	_mm_store_ps(SFRe + 36, mR);
	_mm_store_ps(SFIm + 36, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 104));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 104));
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 104)));
	_mm_store_ps(SFIm + 104, _mm_sub_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 104)));
	_mm_store_ps(SFRe + 40, mR);
	_mm_store_ps(SFIm + 40, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 108));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 108));
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 108)));
	_mm_store_ps(SFIm + 108, _mm_sub_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 108)));
	_mm_store_ps(SFRe + 44, mR);
	_mm_store_ps(SFIm + 44, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 112));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 112));
	_mm_store_ps(SFRe + 112, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 112)));
	_mm_store_ps(SFIm + 112, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 112)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 116));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 116));
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 116)));
	_mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 116)));
	_mm_store_ps(SFRe + 52, mR);
	_mm_store_ps(SFIm + 52, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 120));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 120));
	_mm_store_ps(SFRe + 120, _mm_sub_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 120)));
	_mm_store_ps(SFIm + 120, _mm_sub_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 120)));
	_mm_store_ps(SFRe + 56, mR);
	_mm_store_ps(SFIm + 56, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 124));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 124));
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 124)));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 124)));
	_mm_store_ps(SFRe + 60, mR);
	_mm_store_ps(SFIm + 60, mI);
	mRF1 = _mm_set_ps(0.997293, 0.998797, 0.999700, 1.000000);
	mIF1 = _mm_set_ps(-0.073535, -0.049031, -0.024498, -0.000000);
	mRF2 = _mm_set_ps(0.975711, 0.989178, 0.997293, 1.000000);
	mIF2 = _mm_set_ps(-0.219062, -0.146720, -0.073535, -0.000000);
	mR = _mm_load_ps(SFRe + 128);
	mI = _mm_load_ps(SFIm + 128);
	_mm_store_ps(SFRe + 128, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 128, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 192);
	mI = _mm_load_ps(SFIm + 192);
	_mm_store_ps(SFRe + 192, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 192, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 192);
	mI = _mm_load_ps(SFIm + 192);
	_mm_store_ps(SFRe + 192, _mm_sub_ps(_mm_load_ps(SFIm + 128), mI));
	_mm_store_ps(SFIm + 192, _mm_sub_ps(mR, _mm_load_ps(SFRe + 128)));
	_mm_store_ps(SFRe + 128, _mm_add_ps(_mm_load_ps(SFRe + 128), mR));
	_mm_store_ps(SFIm + 128, _mm_add_ps(_mm_load_ps(SFIm + 128), mI));
	mRF1 = _mm_set_ps(0.985278, 0.989178, 0.992482, 0.995187);
	mIF1 = _mm_set_ps(-0.170958, -0.146720, -0.122394, -0.097994);
	mRF2 = _mm_set_ps(0.870092, 0.904002, 0.932993, 0.956946);
	mIF2 = _mm_set_ps(-0.492889, -0.427528, -0.359895, -0.290265);
	mR = _mm_load_ps(SFRe + 132);
	mI = _mm_load_ps(SFIm + 132);
	_mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 132, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 196);
	mI = _mm_load_ps(SFIm + 196);
	_mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 196, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 196);
	mI = _mm_load_ps(SFIm + 196);
	_mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFIm + 132), mI));
	_mm_store_ps(SFIm + 196, _mm_sub_ps(mR, _mm_load_ps(SFRe + 132)));
	_mm_store_ps(SFRe + 132, _mm_add_ps(_mm_load_ps(SFRe + 132), mR));
	_mm_store_ps(SFIm + 132, _mm_add_ps(_mm_load_ps(SFIm + 132), mI));
	mRF1 = _mm_set_ps(0.963783, 0.970039, 0.975711, 0.980794);
	mIF1 = _mm_set_ps(-0.266687, -0.242948, -0.219062, -0.195044);
	mRF2 = _mm_set_ps(0.689563, 0.740952, 0.788359, 0.831492);
	mIF2 = _mm_set_ps(-0.724226, -0.671558, -0.615215, -0.555536);
	mR = _mm_load_ps(SFRe + 136);
	mI = _mm_load_ps(SFIm + 136);
	_mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 200);
	mI = _mm_load_ps(SFIm + 200);
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 200);
	mI = _mm_load_ps(SFIm + 200);
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_load_ps(SFIm + 136), mI));
	_mm_store_ps(SFIm + 200, _mm_sub_ps(mR, _mm_load_ps(SFRe + 136)));
	_mm_store_ps(SFRe + 136, _mm_add_ps(_mm_load_ps(SFRe + 136), mR));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_load_ps(SFIm + 136), mI));
	mRF1 = _mm_set_ps(0.932993, 0.941546, 0.949532, 0.956946);
	mIF1 = _mm_set_ps(-0.359895, -0.336883, -0.313669, -0.290265);
	mRF2 = _mm_set_ps(0.449612, 0.514121, 0.575801, 0.634402);
	mIF2 = _mm_set_ps(-0.893224, -0.857718, -0.817590, -0.773004);
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 140, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 204, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFIm + 140), mI));
	_mm_store_ps(SFIm + 204, _mm_sub_ps(mR, _mm_load_ps(SFRe + 140)));
	_mm_store_ps(SFRe + 140, _mm_add_ps(_mm_load_ps(SFRe + 140), mR));
	_mm_store_ps(SFIm + 140, _mm_add_ps(_mm_load_ps(SFIm + 140), mI));
	mRF1 = _mm_set_ps(0.893235, 0.904002, 0.914225, 0.923896);
	mIF1 = _mm_set_ps(-0.449590, -0.427528, -0.405207, -0.382643);
	mRF2 = _mm_set_ps(0.170983, 0.242972, 0.313692, 0.382712);
	mIF2 = _mm_set_ps(-0.985274, -0.970033, -0.949525, -0.923868);
	mR = _mm_load_ps(SFRe + 144);
	mI = _mm_load_ps(SFIm + 144);
	_mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 144, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 208);
	mI = _mm_load_ps(SFIm + 208);
	_mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 208, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 208);
	mI = _mm_load_ps(SFIm + 208);
	_mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_load_ps(SFIm + 144), mI));
	_mm_store_ps(SFIm + 208, _mm_sub_ps(mR, _mm_load_ps(SFRe + 144)));
	_mm_store_ps(SFRe + 144, _mm_add_ps(_mm_load_ps(SFRe + 144), mR));
	_mm_store_ps(SFIm + 144, _mm_add_ps(_mm_load_ps(SFIm + 144), mI));
	mRF1 = _mm_set_ps(0.844852, 0.857731, 0.870092, 0.881929);
	mIF1 = _mm_set_ps(-0.535000, -0.514099, -0.492889, -0.471382);
	mRF2 = _mm_set_ps(-0.122419, -0.049056, 0.024523, 0.098019);
	mIF2 = _mm_set_ps(-0.992479, -0.998796, -0.999699, -0.995185);
	mR = _mm_load_ps(SFRe + 148);
	mI = _mm_load_ps(SFIm + 148);
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 148, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 212);
	mI = _mm_load_ps(SFIm + 212);
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 212, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 212);
	mI = _mm_load_ps(SFIm + 212);
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFIm + 148), mI));
	_mm_store_ps(SFIm + 212, _mm_sub_ps(mR, _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFRe + 148, _mm_add_ps(_mm_load_ps(SFRe + 148), mR));
	_mm_store_ps(SFIm + 148, _mm_add_ps(_mm_load_ps(SFIm + 148), mI));
	mRF1 = _mm_set_ps(0.788359, 0.803224, 0.817604, 0.831492);
	mIF1 = _mm_set_ps(-0.615215, -0.595677, -0.575780, -0.555536);
	mRF2 = _mm_set_ps(-0.405230, -0.336907, -0.266711, -0.195069);
	mIF2 = _mm_set_ps(-0.914215, -0.941538, -0.963777, -0.980790);
	mR = _mm_load_ps(SFRe + 152);
	mI = _mm_load_ps(SFIm + 152);
	_mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 152, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 216);
	mI = _mm_load_ps(SFIm + 216);
	_mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 216, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 216);
	mI = _mm_load_ps(SFIm + 216);
	_mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFIm + 152), mI));
	_mm_store_ps(SFIm + 216, _mm_sub_ps(mR, _mm_load_ps(SFRe + 152)));
	_mm_store_ps(SFRe + 152, _mm_add_ps(_mm_load_ps(SFRe + 152), mR));
	_mm_store_ps(SFIm + 152, _mm_add_ps(_mm_load_ps(SFIm + 152), mI));
	mRF1 = _mm_set_ps(0.724243, 0.740952, 0.757214, 0.773019);
	mIF1 = _mm_set_ps(-0.689545, -0.671558, -0.653167, -0.634382);
	mRF2 = _mm_set_ps(-0.653186, -0.595697, -0.535021, -0.471404);
	mIF2 = _mm_set_ps(-0.757197, -0.803209, -0.844839, -0.881918);
	mR = _mm_load_ps(SFRe + 156);
	mI = _mm_load_ps(SFIm + 156);
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 156, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 220);
	mI = _mm_load_ps(SFIm + 220);
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 220, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 220);
	mI = _mm_load_ps(SFIm + 220);
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFIm + 156), mI));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(mR, _mm_load_ps(SFRe + 156)));
	_mm_store_ps(SFRe + 156, _mm_add_ps(_mm_load_ps(SFRe + 156), mR));
	_mm_store_ps(SFIm + 156, _mm_add_ps(_mm_load_ps(SFIm + 156), mI));
	mRF1 = _mm_set_ps(0.653186, 0.671577, 0.689563, 0.707133);
	mIF1 = _mm_set_ps(-0.757197, -0.740935, -0.724226, -0.707080);
	mRF2 = _mm_set_ps(-0.844852, -0.803224, -0.757214, -0.707098);
	mIF2 = _mm_set_ps(-0.535000, -0.595677, -0.653167, -0.707116);
	mR = _mm_load_ps(SFRe + 160);
	mI = _mm_load_ps(SFIm + 160);
	_mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 160, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 224);
	mI = _mm_load_ps(SFIm + 224);
	_mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 224, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 224);
	mI = _mm_load_ps(SFIm + 224);
	_mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_load_ps(SFIm + 160), mI));
	_mm_store_ps(SFIm + 224, _mm_sub_ps(mR, _mm_load_ps(SFRe + 160)));
	_mm_store_ps(SFRe + 160, _mm_add_ps(_mm_load_ps(SFRe + 160), mR));
	_mm_store_ps(SFIm + 160, _mm_add_ps(_mm_load_ps(SFIm + 160), mI));
	mRF1 = _mm_set_ps(0.575801, 0.595697, 0.615235, 0.634402);
	mIF1 = _mm_set_ps(-0.817590, -0.803209, -0.788344, -0.773004);
	mRF2 = _mm_set_ps(-0.963783, -0.941546, -0.914205, -0.881929);
	mIF2 = _mm_set_ps(-0.266687, -0.336883, -0.405253, -0.471382);
	mR = _mm_load_ps(SFRe + 164);
	mI = _mm_load_ps(SFIm + 164);
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 164, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 228);
	mI = _mm_load_ps(SFIm + 228);
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 228, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 228);
	mI = _mm_load_ps(SFIm + 228);
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFIm + 164), mI));
	_mm_store_ps(SFIm + 228, _mm_sub_ps(mR, _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFRe + 164, _mm_add_ps(_mm_load_ps(SFRe + 164), mR));
	_mm_store_ps(SFIm + 164, _mm_add_ps(_mm_load_ps(SFIm + 164), mI));
	mRF1 = _mm_set_ps(0.492911, 0.514121, 0.535021, 0.555599);
	mIF1 = _mm_set_ps(-0.870080, -0.857718, -0.844839, -0.831451);
	mRF2 = _mm_set_ps(-0.999700, -0.998797, -0.992482, -0.980785);
	mIF2 = _mm_set_ps(0.024498, -0.049031, -0.122394, -0.195093);
	mR = _mm_load_ps(SFRe + 168);
	mI = _mm_load_ps(SFIm + 168);
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 232);
	mI = _mm_load_ps(SFIm + 232);
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 232);
	mI = _mm_load_ps(SFIm + 232);
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
	_mm_store_ps(SFIm + 232, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
	mRF1 = _mm_set_ps(0.405230, 0.427550, 0.449612, 0.471404);
	mIF1 = _mm_set_ps(-0.914215, -0.903992, -0.893224, -0.881918);
	mRF2 = _mm_set_ps(-0.949532, -0.970039, -0.985278, -0.995187);
	mIF2 = _mm_set_ps(0.313669, 0.242948, 0.170958, 0.097994);
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFIm + 172), mI));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(mR, _mm_load_ps(SFRe + 172)));
	_mm_store_ps(SFRe + 172, _mm_add_ps(_mm_load_ps(SFRe + 172), mR));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_load_ps(SFIm + 172), mI));
	mRF1 = _mm_set_ps(0.313692, 0.336907, 0.359918, 0.382712);
	mIF1 = _mm_set_ps(-0.949525, -0.941538, -0.932984, -0.923868);
	mRF2 = _mm_set_ps(-0.817604, -0.857731, -0.893235, -0.923896);
	mIF2 = _mm_set_ps(0.575780, 0.514099, 0.449590, 0.382643);
	mR = _mm_load_ps(SFRe + 176);
	mI = _mm_load_ps(SFIm + 176);
	_mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 176, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 240);
	mI = _mm_load_ps(SFIm + 240);
	_mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 240, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 240);
	mI = _mm_load_ps(SFIm + 240);
	_mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFIm + 176), mI));
	_mm_store_ps(SFIm + 240, _mm_sub_ps(mR, _mm_load_ps(SFRe + 176)));
	_mm_store_ps(SFRe + 176, _mm_add_ps(_mm_load_ps(SFRe + 176), mR));
	_mm_store_ps(SFIm + 176, _mm_add_ps(_mm_load_ps(SFIm + 176), mI));
	mRF1 = _mm_set_ps(0.219086, 0.242972, 0.266711, 0.290289);
	mIF1 = _mm_set_ps(-0.975705, -0.970033, -0.963777, -0.956939);
	mRF2 = _mm_set_ps(-0.615235, -0.671577, -0.724243, -0.773019);
	mIF2 = _mm_set_ps(0.788344, 0.740935, 0.689545, 0.634382);
	mR = _mm_load_ps(SFRe + 180);
	mI = _mm_load_ps(SFIm + 180);
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 180, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 244);
	mI = _mm_load_ps(SFIm + 244);
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 244, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 244);
	mI = _mm_load_ps(SFIm + 244);
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFIm + 180), mI));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(mR, _mm_load_ps(SFRe + 180)));
	_mm_store_ps(SFRe + 180, _mm_add_ps(_mm_load_ps(SFRe + 180), mR));
	_mm_store_ps(SFIm + 180, _mm_add_ps(_mm_load_ps(SFIm + 180), mI));
	mRF1 = _mm_set_ps(0.122419, 0.146745, 0.170983, 0.195118);
	mIF1 = _mm_set_ps(-0.992479, -0.989174, -0.985274, -0.980780);
	mRF2 = _mm_set_ps(-0.359918, -0.427550, -0.492911, -0.555599);
	mIF2 = _mm_set_ps(0.932984, 0.903992, 0.870080, 0.831451);
	mR = _mm_load_ps(SFRe + 184);
	mI = _mm_load_ps(SFIm + 184);
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFIm + 184), mI));
	_mm_store_ps(SFIm + 248, _mm_sub_ps(mR, _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFRe + 184, _mm_add_ps(_mm_load_ps(SFRe + 184), mR));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_load_ps(SFIm + 184), mI));
	mRF1 = _mm_set_ps(0.024523, 0.049056, 0.073559, 0.098019);
	mIF1 = _mm_set_ps(-0.999699, -0.998796, -0.997291, -0.995185);
	mRF2 = _mm_set_ps(-0.073559, -0.146745, -0.219086, -0.290289);
	mIF2 = _mm_set_ps(0.997291, 0.989174, 0.975705, 0.956939);
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 188), mI));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 188)));
	_mm_store_ps(SFRe + 188, _mm_add_ps(_mm_load_ps(SFRe + 188), mR));
	_mm_store_ps(SFIm + 188, _mm_add_ps(_mm_load_ps(SFIm + 188), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 128));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 128));
	_mm_store_ps(SFRe + 128, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 128)));
	_mm_store_ps(SFIm + 128, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 128)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 132));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 132));
	_mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 132)));
	_mm_store_ps(SFIm + 132, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 132)));
	_mm_store_ps(SFRe + 4, mR);
	_mm_store_ps(SFIm + 4, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 136));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 136));
	_mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 136)));
	_mm_store_ps(SFIm + 136, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 136)));
	_mm_store_ps(SFRe + 8, mR);
	_mm_store_ps(SFIm + 8, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 140));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 140));
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 140)));
	_mm_store_ps(SFIm + 140, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 140)));
	_mm_store_ps(SFRe + 12, mR);
	_mm_store_ps(SFIm + 12, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 144));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 144));
	_mm_store_ps(SFRe + 144, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 144)));
	_mm_store_ps(SFIm + 144, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 144)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 148));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 148));
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 148)));
	_mm_store_ps(SFRe + 20, mR);
	_mm_store_ps(SFIm + 20, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 152));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 152));
	_mm_store_ps(SFRe + 152, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 152)));
	_mm_store_ps(SFIm + 152, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 152)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 156));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 156));
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 156)));
	_mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 156)));
	_mm_store_ps(SFRe + 28, mR);
	_mm_store_ps(SFIm + 28, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 160));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 160));
	_mm_store_ps(SFRe + 160, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 160)));
	_mm_store_ps(SFIm + 160, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 160)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 164));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 164));
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 164)));
	_mm_store_ps(SFRe + 36, mR);
	_mm_store_ps(SFIm + 36, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 168));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 168));
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFIm + 168, _mm_sub_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 168)));
	_mm_store_ps(SFRe + 40, mR);
	_mm_store_ps(SFIm + 40, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 172));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 172));
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 172)));
	_mm_store_ps(SFIm + 172, _mm_sub_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 172)));
	_mm_store_ps(SFRe + 44, mR);
	_mm_store_ps(SFIm + 44, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 176));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 176));
	_mm_store_ps(SFRe + 176, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 176)));
	_mm_store_ps(SFIm + 176, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 176)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 180));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 180));
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 180)));
	_mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 180)));
	_mm_store_ps(SFRe + 52, mR);
	_mm_store_ps(SFIm + 52, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 184));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 184));
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFIm + 184, _mm_sub_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 184)));
	_mm_store_ps(SFRe + 56, mR);
	_mm_store_ps(SFIm + 56, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 188));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 188));
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 188)));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 188)));
	_mm_store_ps(SFRe + 60, mR);
	_mm_store_ps(SFIm + 60, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 192));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 192));
	_mm_store_ps(SFRe + 192, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 192)));
	_mm_store_ps(SFIm + 192, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 192)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 196));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 196));
	_mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 196)));
	_mm_store_ps(SFIm + 196, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 196)));
	_mm_store_ps(SFRe + 68, mR);
	_mm_store_ps(SFIm + 68, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 200));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 200));
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 200)));
	_mm_store_ps(SFIm + 200, _mm_sub_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 200)));
	_mm_store_ps(SFRe + 72, mR);
	_mm_store_ps(SFIm + 72, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 204));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 204));
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 204)));
	_mm_store_ps(SFIm + 204, _mm_sub_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 204)));
	_mm_store_ps(SFRe + 76, mR);
	_mm_store_ps(SFIm + 76, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 208));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 208));
	_mm_store_ps(SFRe + 208, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 208)));
	_mm_store_ps(SFIm + 208, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 208)));
	_mm_store_ps(SFRe + 80, mR);
	_mm_store_ps(SFIm + 80, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 84), _mm_load_ps(SFRe + 212));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 84), _mm_load_ps(SFIm + 212));
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 84), _mm_load_ps(SFRe + 212)));
	_mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 84), _mm_load_ps(SFIm + 212)));
	_mm_store_ps(SFRe + 84, mR);
	_mm_store_ps(SFIm + 84, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 216));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 216));
	_mm_store_ps(SFRe + 216, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 216)));
	_mm_store_ps(SFIm + 216, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 216)));
	_mm_store_ps(SFRe + 88, mR);
	_mm_store_ps(SFIm + 88, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 92), _mm_load_ps(SFRe + 220));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 92), _mm_load_ps(SFIm + 220));
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 92), _mm_load_ps(SFRe + 220)));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 92), _mm_load_ps(SFIm + 220)));
	_mm_store_ps(SFRe + 92, mR);
	_mm_store_ps(SFIm + 92, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 224));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 224));
	_mm_store_ps(SFRe + 224, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 224)));
	_mm_store_ps(SFIm + 224, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 224)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 228));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 228));
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 228)));
	_mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 228)));
	_mm_store_ps(SFRe + 100, mR);
	_mm_store_ps(SFIm + 100, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 232));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 232));
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFIm + 232, _mm_sub_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 232)));
	_mm_store_ps(SFRe + 104, mR);
	_mm_store_ps(SFIm + 104, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 236));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 236));
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 236)));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 236)));
	_mm_store_ps(SFRe + 108, mR);
	_mm_store_ps(SFIm + 108, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 240));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 240));
	_mm_store_ps(SFRe + 240, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 240)));
	_mm_store_ps(SFIm + 240, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 240)));
	_mm_store_ps(SFRe + 112, mR);
	_mm_store_ps(SFIm + 112, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 116), _mm_load_ps(SFRe + 244));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 116), _mm_load_ps(SFIm + 244));
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 116), _mm_load_ps(SFRe + 244)));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 116), _mm_load_ps(SFIm + 244)));
	_mm_store_ps(SFRe + 116, mR);
	_mm_store_ps(SFIm + 116, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 248));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 248));
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 248)));
	_mm_store_ps(SFIm + 248, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 248)));
	_mm_store_ps(SFRe + 120, mR);
	_mm_store_ps(SFIm + 120, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 124), _mm_load_ps(SFRe + 252));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 124), _mm_load_ps(SFIm + 252));
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFRe + 124), _mm_load_ps(SFRe + 252)));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(_mm_load_ps(SFIm + 124), _mm_load_ps(SFIm + 252)));
	_mm_store_ps(SFRe + 124, mR);
	_mm_store_ps(SFIm + 124, mI);
	mRF1 = _mm_set_ps(0.999323, 0.999700, 0.999925, 1.000000);
	mIF1 = _mm_set_ps(-0.036792, -0.024498, -0.012250, -0.000000);
	mRF2 = _mm_set_ps(0.993912, 0.997293, 0.999323, 1.000000);
	mIF2 = _mm_set_ps(-0.110177, -0.073535, -0.036792, -0.000000);
	mR = _mm_load_ps(SFRe + 256);
	mI = _mm_load_ps(SFIm + 256);
	_mm_store_ps(SFRe + 256, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 256, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 384);
	mI = _mm_load_ps(SFIm + 384);
	_mm_store_ps(SFRe + 384, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 384, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 384);
	mI = _mm_load_ps(SFIm + 384);
	_mm_store_ps(SFRe + 384, _mm_sub_ps(_mm_load_ps(SFIm + 256), mI));
	_mm_store_ps(SFIm + 384, _mm_sub_ps(mR, _mm_load_ps(SFRe + 256)));
	_mm_store_ps(SFRe + 256, _mm_add_ps(_mm_load_ps(SFRe + 256), mR));
	_mm_store_ps(SFIm + 256, _mm_add_ps(_mm_load_ps(SFIm + 256), mI));
	mRF1 = _mm_set_ps(0.996313, 0.997293, 0.998119, 0.998797);
	mIF1 = _mm_set_ps(-0.085796, -0.073535, -0.061312, -0.049031);
	mRF2 = _mm_set_ps(0.966978, 0.975711, 0.983110, 0.989178);
	mIF2 = _mm_set_ps(-0.254861, -0.219062, -0.183015, -0.146720);
	mR = _mm_load_ps(SFRe + 260);
	mI = _mm_load_ps(SFIm + 260);
	_mm_store_ps(SFRe + 260, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 260, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 388);
	mI = _mm_load_ps(SFIm + 388);
	_mm_store_ps(SFRe + 388, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 388, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 388);
	mI = _mm_load_ps(SFIm + 388);
	_mm_store_ps(SFRe + 388, _mm_sub_ps(_mm_load_ps(SFIm + 260), mI));
	_mm_store_ps(SFIm + 388, _mm_sub_ps(mR, _mm_load_ps(SFRe + 260)));
	_mm_store_ps(SFRe + 260, _mm_add_ps(_mm_load_ps(SFRe + 260), mR));
	_mm_store_ps(SFIm + 260, _mm_add_ps(_mm_load_ps(SFIm + 260), mI));
	mRF1 = _mm_set_ps(0.990908, 0.992482, 0.993912, 0.995187);
	mIF1 = _mm_set_ps(-0.134543, -0.122394, -0.110177, -0.097994);
	mRF2 = _mm_set_ps(0.919120, 0.932993, 0.945619, 0.956946);
	mIF2 = _mm_set_ps(-0.393978, -0.359895, -0.325277, -0.290265);
	mR = _mm_load_ps(SFRe + 264);
	mI = _mm_load_ps(SFIm + 264);
	_mm_store_ps(SFRe + 264, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 264, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 392);
	mI = _mm_load_ps(SFIm + 392);
	_mm_store_ps(SFRe + 392, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 392, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 392);
	mI = _mm_load_ps(SFIm + 392);
	_mm_store_ps(SFRe + 392, _mm_sub_ps(_mm_load_ps(SFIm + 264), mI));
	_mm_store_ps(SFIm + 392, _mm_sub_ps(mR, _mm_load_ps(SFRe + 264)));
	_mm_store_ps(SFRe + 264, _mm_add_ps(_mm_load_ps(SFRe + 264), mR));
	_mm_store_ps(SFIm + 264, _mm_add_ps(_mm_load_ps(SFIm + 264), mI));
	mRF1 = _mm_set_ps(0.983110, 0.985278, 0.987306, 0.989178);
	mIF1 = _mm_set_ps(-0.183015, -0.170958, -0.158827, -0.146720);
	mRF2 = _mm_set_ps(0.851369, 0.870092, 0.887638, 0.904002);
	mIF2 = _mm_set_ps(-0.524568, -0.492889, -0.460543, -0.427528);
	mR = _mm_load_ps(SFRe + 268);
	mI = _mm_load_ps(SFIm + 268);
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 268, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 396);
	mI = _mm_load_ps(SFIm + 396);
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 396, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 396);
	mI = _mm_load_ps(SFIm + 396);
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_load_ps(SFIm + 268), mI));
	_mm_store_ps(SFIm + 396, _mm_sub_ps(mR, _mm_load_ps(SFRe + 268)));
	_mm_store_ps(SFRe + 268, _mm_add_ps(_mm_load_ps(SFRe + 268), mR));
	_mm_store_ps(SFIm + 268, _mm_add_ps(_mm_load_ps(SFIm + 268), mI));
	mRF1 = _mm_set_ps(0.972943, 0.975711, 0.978321, 0.980794);
	mIF1 = _mm_set_ps(-0.231047, -0.219062, -0.207093, -0.195044);
	mRF2 = _mm_set_ps(0.765190, 0.788359, 0.810461, 0.831492);
	mIF2 = _mm_set_ps(-0.643804, -0.615215, -0.585793, -0.555536);
	mR = _mm_load_ps(SFRe + 272);
	mI = _mm_load_ps(SFIm + 272);
	_mm_store_ps(SFRe + 272, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 272, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 400);
	mI = _mm_load_ps(SFIm + 400);
	_mm_store_ps(SFRe + 400, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 400, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 400);
	mI = _mm_load_ps(SFIm + 400);
	_mm_store_ps(SFRe + 400, _mm_sub_ps(_mm_load_ps(SFIm + 272), mI));
	_mm_store_ps(SFIm + 400, _mm_sub_ps(mR, _mm_load_ps(SFRe + 272)));
	_mm_store_ps(SFRe + 272, _mm_add_ps(_mm_load_ps(SFRe + 272), mR));
	_mm_store_ps(SFIm + 272, _mm_add_ps(_mm_load_ps(SFIm + 272), mI));
	mRF1 = _mm_set_ps(0.960430, 0.963783, 0.966978, 0.970039);
	mIF1 = _mm_set_ps(-0.278521, -0.266687, -0.254861, -0.242948);
	mRF2 = _mm_set_ps(0.662413, 0.689563, 0.715742, 0.740952);
	mIF2 = _mm_set_ps(-0.749139, -0.724226, -0.698365, -0.671558);
	mR = _mm_load_ps(SFRe + 276);
	mI = _mm_load_ps(SFIm + 276);
	_mm_store_ps(SFRe + 276, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 276, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 404);
	mI = _mm_load_ps(SFIm + 404);
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 404, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 404);
	mI = _mm_load_ps(SFIm + 404);
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_load_ps(SFIm + 276), mI));
	_mm_store_ps(SFIm + 404, _mm_sub_ps(mR, _mm_load_ps(SFRe + 276)));
	_mm_store_ps(SFRe + 276, _mm_add_ps(_mm_load_ps(SFRe + 276), mR));
	_mm_store_ps(SFIm + 276, _mm_add_ps(_mm_load_ps(SFIm + 276), mI));
	mRF1 = _mm_set_ps(0.945619, 0.949532, 0.953319, 0.956946);
	mIF1 = _mm_set_ps(-0.325277, -0.313669, -0.301966, -0.290265);
	mRF2 = _mm_set_ps(0.545330, 0.575801, 0.605532, 0.634402);
	mIF2 = _mm_set_ps(-0.838221, -0.817590, -0.795821, -0.773004);
	mR = _mm_load_ps(SFRe + 280);
	mI = _mm_load_ps(SFIm + 280);
	_mm_store_ps(SFRe + 280, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 280, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 408);
	mI = _mm_load_ps(SFIm + 408);
	_mm_store_ps(SFRe + 408, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 408, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 408);
	mI = _mm_load_ps(SFIm + 408);
	_mm_store_ps(SFRe + 408, _mm_sub_ps(_mm_load_ps(SFIm + 280), mI));
	_mm_store_ps(SFIm + 408, _mm_sub_ps(mR, _mm_load_ps(SFRe + 280)));
	_mm_store_ps(SFRe + 280, _mm_add_ps(_mm_load_ps(SFRe + 280), mR));
	_mm_store_ps(SFIm + 280, _mm_add_ps(_mm_load_ps(SFIm + 280), mI));
	mRF1 = _mm_set_ps(0.928514, 0.932993, 0.937349, 0.941546);
	mIF1 = _mm_set_ps(-0.371297, -0.359895, -0.348392, -0.336883);
	mRF2 = _mm_set_ps(0.416444, 0.449612, 0.482172, 0.514121);
	mIF2 = _mm_set_ps(-0.909161, -0.893224, -0.876077, -0.857718);
	mR = _mm_load_ps(SFRe + 284);
	mI = _mm_load_ps(SFIm + 284);
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 284, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 412);
	mI = _mm_load_ps(SFIm + 412);
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 412, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 412);
	mI = _mm_load_ps(SFIm + 412);
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_load_ps(SFIm + 284), mI));
	_mm_store_ps(SFIm + 412, _mm_sub_ps(mR, _mm_load_ps(SFRe + 284)));
	_mm_store_ps(SFRe + 284, _mm_add_ps(_mm_load_ps(SFRe + 284), mR));
	_mm_store_ps(SFIm + 284, _mm_add_ps(_mm_load_ps(SFIm + 284), mI));
	mRF1 = _mm_set_ps(0.909172, 0.914225, 0.919120, 0.923896);
	mIF1 = _mm_set_ps(-0.416422, -0.405207, -0.393978, -0.382643);
	mRF2 = _mm_set_ps(0.278545, 0.313692, 0.348415, 0.382712);
	mIF2 = _mm_set_ps(-0.960423, -0.949525, -0.937340, -0.923868);
	mR = _mm_load_ps(SFRe + 288);
	mI = _mm_load_ps(SFIm + 288);
	_mm_store_ps(SFRe + 288, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 288, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 416);
	mI = _mm_load_ps(SFIm + 416);
	_mm_store_ps(SFRe + 416, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 416, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 416);
	mI = _mm_load_ps(SFIm + 416);
	_mm_store_ps(SFRe + 416, _mm_sub_ps(_mm_load_ps(SFIm + 288), mI));
	_mm_store_ps(SFIm + 416, _mm_sub_ps(mR, _mm_load_ps(SFRe + 288)));
	_mm_store_ps(SFRe + 288, _mm_add_ps(_mm_load_ps(SFRe + 288), mR));
	_mm_store_ps(SFIm + 288, _mm_add_ps(_mm_load_ps(SFIm + 288), mI));
	mRF1 = _mm_set_ps(0.887638, 0.893235, 0.898675, 0.904002);
	mIF1 = _mm_set_ps(-0.460543, -0.449590, -0.438614, -0.427528);
	mRF2 = _mm_set_ps(0.134567, 0.170983, 0.207118, 0.242972);
	mIF2 = _mm_set_ps(-0.990904, -0.985274, -0.978316, -0.970033);
	mR = _mm_load_ps(SFRe + 292);
	mI = _mm_load_ps(SFIm + 292);
	_mm_store_ps(SFRe + 292, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 292, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 420);
	mI = _mm_load_ps(SFIm + 420);
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 420, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 420);
	mI = _mm_load_ps(SFIm + 420);
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_load_ps(SFIm + 292), mI));
	_mm_store_ps(SFIm + 420, _mm_sub_ps(mR, _mm_load_ps(SFRe + 292)));
	_mm_store_ps(SFRe + 292, _mm_add_ps(_mm_load_ps(SFRe + 292), mR));
	_mm_store_ps(SFIm + 292, _mm_add_ps(_mm_load_ps(SFIm + 292), mI));
	mRF1 = _mm_set_ps(0.863989, 0.870092, 0.876089, 0.881929);
	mIF1 = _mm_set_ps(-0.503511, -0.492889, -0.482150, -0.471382);
	mRF2 = _mm_set_ps(-0.012275, 0.024523, 0.061337, 0.098019);
	mIF2 = _mm_set_ps(-0.999925, -0.999699, -0.998117, -0.995185);
	mR = _mm_load_ps(SFRe + 296);
	mI = _mm_load_ps(SFIm + 296);
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 424);
	mI = _mm_load_ps(SFIm + 424);
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 424);
	mI = _mm_load_ps(SFIm + 424);
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_load_ps(SFIm + 296), mI));
	_mm_store_ps(SFIm + 424, _mm_sub_ps(mR, _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFRe + 296, _mm_add_ps(_mm_load_ps(SFRe + 296), mR));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_load_ps(SFIm + 296), mI));
	mRF1 = _mm_set_ps(0.838235, 0.844852, 0.851369, 0.857731);
	mIF1 = _mm_set_ps(-0.545309, -0.535000, -0.524568, -0.514099);
	mRF2 = _mm_set_ps(-0.158851, -0.122419, -0.085771, -0.049056);
	mIF2 = _mm_set_ps(-0.987302, -0.992479, -0.996315, -0.998796);
	mR = _mm_load_ps(SFRe + 300);
	mI = _mm_load_ps(SFIm + 300);
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 300, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 428, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_load_ps(SFIm + 300), mI));
	_mm_store_ps(SFIm + 428, _mm_sub_ps(mR, _mm_load_ps(SFRe + 300)));
	_mm_store_ps(SFRe + 300, _mm_add_ps(_mm_load_ps(SFRe + 300), mR));
	_mm_store_ps(SFIm + 300, _mm_add_ps(_mm_load_ps(SFIm + 300), mI));
	mRF1 = _mm_set_ps(0.810461, 0.817604, 0.824596, 0.831492);
	mIF1 = _mm_set_ps(-0.585793, -0.575780, -0.565722, -0.555536);
	mRF2 = _mm_set_ps(-0.301990, -0.266711, -0.231071, -0.195069);
	mIF2 = _mm_set_ps(-0.953311, -0.963777, -0.972937, -0.980790);
	mR = _mm_load_ps(SFRe + 304);
	mI = _mm_load_ps(SFIm + 304);
	_mm_store_ps(SFRe + 304, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 304, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 432);
	mI = _mm_load_ps(SFIm + 432);
	_mm_store_ps(SFRe + 432, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 432, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 432);
	mI = _mm_load_ps(SFIm + 432);
	_mm_store_ps(SFRe + 432, _mm_sub_ps(_mm_load_ps(SFIm + 304), mI));
	_mm_store_ps(SFIm + 432, _mm_sub_ps(mR, _mm_load_ps(SFRe + 304)));
	_mm_store_ps(SFRe + 304, _mm_add_ps(_mm_load_ps(SFRe + 304), mR));
	_mm_store_ps(SFIm + 304, _mm_add_ps(_mm_load_ps(SFIm + 304), mI));
	mRF1 = _mm_set_ps(0.780732, 0.788359, 0.795836, 0.803224);
	mIF1 = _mm_set_ps(-0.624865, -0.615215, -0.605512, -0.595677);
	mRF2 = _mm_set_ps(-0.438637, -0.405230, -0.371320, -0.336907);
	mIF2 = _mm_set_ps(-0.898664, -0.914215, -0.928505, -0.941538);
	mR = _mm_load_ps(SFRe + 308);
	mI = _mm_load_ps(SFIm + 308);
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 308, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 436);
	mI = _mm_load_ps(SFIm + 436);
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 436, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 436);
	mI = _mm_load_ps(SFIm + 436);
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_load_ps(SFIm + 308), mI));
	_mm_store_ps(SFIm + 436, _mm_sub_ps(mR, _mm_load_ps(SFRe + 308)));
	_mm_store_ps(SFRe + 308, _mm_add_ps(_mm_load_ps(SFRe + 308), mR));
	_mm_store_ps(SFIm + 308, _mm_add_ps(_mm_load_ps(SFIm + 308), mI));
	mRF1 = _mm_set_ps(0.749156, 0.757214, 0.765190, 0.773019);
	mIF1 = _mm_set_ps(-0.662394, -0.653167, -0.643804, -0.634382);
	mRF2 = _mm_set_ps(-0.565742, -0.535021, -0.503532, -0.471404);
	mIF2 = _mm_set_ps(-0.824582, -0.844839, -0.863976, -0.881918);
	mR = _mm_load_ps(SFRe + 312);
	mI = _mm_load_ps(SFIm + 312);
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 440);
	mI = _mm_load_ps(SFIm + 440);
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 440, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 440);
	mI = _mm_load_ps(SFIm + 440);
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_load_ps(SFIm + 312), mI));
	_mm_store_ps(SFIm + 440, _mm_sub_ps(mR, _mm_load_ps(SFRe + 312)));
	_mm_store_ps(SFRe + 312, _mm_add_ps(_mm_load_ps(SFRe + 312), mR));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_load_ps(SFIm + 312), mI));
	mRF1 = _mm_set_ps(0.715742, 0.724243, 0.732670, 0.740952);
	mIF1 = _mm_set_ps(-0.698365, -0.689545, -0.680585, -0.671558);
	mRF2 = _mm_set_ps(-0.680603, -0.653186, -0.624846, -0.595697);
	mIF2 = _mm_set_ps(-0.732653, -0.757197, -0.780748, -0.803209);
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 316, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 444, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFIm + 316), mI));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(mR, _mm_load_ps(SFRe + 316)));
	_mm_store_ps(SFRe + 316, _mm_add_ps(_mm_load_ps(SFRe + 316), mR));
	_mm_store_ps(SFIm + 316, _mm_add_ps(_mm_load_ps(SFIm + 316), mI));
	mRF1 = _mm_set_ps(0.680603, 0.689563, 0.698383, 0.707133);
	mIF1 = _mm_set_ps(-0.732653, -0.724226, -0.715724, -0.707080);
	mRF2 = _mm_set_ps(-0.780732, -0.757214, -0.732670, -0.707098);
	mIF2 = _mm_set_ps(-0.624865, -0.653167, -0.680585, -0.707116);
	mR = _mm_load_ps(SFRe + 320);
	mI = _mm_load_ps(SFIm + 320);
	_mm_store_ps(SFRe + 320, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 320, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 448);
	mI = _mm_load_ps(SFIm + 448);
	_mm_store_ps(SFRe + 448, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 448, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 448);
	mI = _mm_load_ps(SFIm + 448);
	_mm_store_ps(SFRe + 448, _mm_sub_ps(_mm_load_ps(SFIm + 320), mI));
	_mm_store_ps(SFIm + 448, _mm_sub_ps(mR, _mm_load_ps(SFRe + 320)));
	_mm_store_ps(SFRe + 320, _mm_add_ps(_mm_load_ps(SFRe + 320), mR));
	_mm_store_ps(SFIm + 320, _mm_add_ps(_mm_load_ps(SFIm + 320), mI));
	mRF1 = _mm_set_ps(0.643823, 0.653186, 0.662413, 0.671577);
	mIF1 = _mm_set_ps(-0.765174, -0.757197, -0.749139, -0.740935);
	mRF2 = _mm_set_ps(-0.863989, -0.844852, -0.824596, -0.803224);
	mIF2 = _mm_set_ps(-0.503511, -0.535000, -0.565722, -0.595677);
	mR = _mm_load_ps(SFRe + 324);
	mI = _mm_load_ps(SFIm + 324);
	_mm_store_ps(SFRe + 324, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 324, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 452);
	mI = _mm_load_ps(SFIm + 452);
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 452, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 452);
	mI = _mm_load_ps(SFIm + 452);
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_load_ps(SFIm + 324), mI));
	_mm_store_ps(SFIm + 452, _mm_sub_ps(mR, _mm_load_ps(SFRe + 324)));
	_mm_store_ps(SFRe + 324, _mm_add_ps(_mm_load_ps(SFRe + 324), mR));
	_mm_store_ps(SFIm + 324, _mm_add_ps(_mm_load_ps(SFIm + 324), mI));
	mRF1 = _mm_set_ps(0.605532, 0.615235, 0.624885, 0.634402);
	mIF1 = _mm_set_ps(-0.795821, -0.788344, -0.780717, -0.773004);
	mRF2 = _mm_set_ps(-0.928514, -0.914205, -0.898675, -0.881929);
	mIF2 = _mm_set_ps(-0.371297, -0.405253, -0.438614, -0.471382);
	mR = _mm_load_ps(SFRe + 328);
	mI = _mm_load_ps(SFIm + 328);
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 456);
	mI = _mm_load_ps(SFIm + 456);
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 456);
	mI = _mm_load_ps(SFIm + 456);
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_load_ps(SFIm + 328), mI));
	_mm_store_ps(SFIm + 456, _mm_sub_ps(mR, _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFRe + 328, _mm_add_ps(_mm_load_ps(SFRe + 328), mR));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_load_ps(SFIm + 328), mI));
	mRF1 = _mm_set_ps(0.565742, 0.575801, 0.585814, 0.595697);
	mIF1 = _mm_set_ps(-0.824582, -0.817590, -0.810446, -0.803209);
	mRF2 = _mm_set_ps(-0.972943, -0.963783, -0.953304, -0.941546);
	mIF2 = _mm_set_ps(-0.231047, -0.266687, -0.302014, -0.336883);
	mR = _mm_load_ps(SFRe + 332);
	mI = _mm_load_ps(SFIm + 332);
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 332, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 460, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_load_ps(SFIm + 332), mI));
	_mm_store_ps(SFIm + 460, _mm_sub_ps(mR, _mm_load_ps(SFRe + 332)));
	_mm_store_ps(SFRe + 332, _mm_add_ps(_mm_load_ps(SFRe + 332), mR));
	_mm_store_ps(SFIm + 332, _mm_add_ps(_mm_load_ps(SFIm + 332), mI));
	mRF1 = _mm_set_ps(0.524589, 0.535021, 0.545330, 0.555599);
	mIF1 = _mm_set_ps(-0.851355, -0.844839, -0.838221, -0.831451);
	mRF2 = _mm_set_ps(-0.996313, -0.992482, -0.987306, -0.980785);
	mIF2 = _mm_set_ps(-0.085796, -0.122394, -0.158827, -0.195093);
	mR = _mm_load_ps(SFRe + 336);
	mI = _mm_load_ps(SFIm + 336);
	_mm_store_ps(SFRe + 336, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 336, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 464);
	mI = _mm_load_ps(SFIm + 464);
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 464, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 464);
	mI = _mm_load_ps(SFIm + 464);
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_load_ps(SFIm + 336), mI));
	_mm_store_ps(SFIm + 464, _mm_sub_ps(mR, _mm_load_ps(SFRe + 336)));
	_mm_store_ps(SFRe + 336, _mm_add_ps(_mm_load_ps(SFRe + 336), mR));
	_mm_store_ps(SFIm + 336, _mm_add_ps(_mm_load_ps(SFIm + 336), mI));
	mRF1 = _mm_set_ps(0.482172, 0.492911, 0.503532, 0.514121);
	mIF1 = _mm_set_ps(-0.876077, -0.870080, -0.863976, -0.857718);
	mRF2 = _mm_set_ps(-0.998119, -0.999700, -0.999925, -0.998797);
	mIF2 = _mm_set_ps(0.061312, 0.024498, -0.012250, -0.049031);
	mR = _mm_load_ps(SFRe + 340);
	mI = _mm_load_ps(SFIm + 340);
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 340, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 468);
	mI = _mm_load_ps(SFIm + 468);
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 468, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 468);
	mI = _mm_load_ps(SFIm + 468);
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_load_ps(SFIm + 340), mI));
	_mm_store_ps(SFIm + 468, _mm_sub_ps(mR, _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFRe + 340, _mm_add_ps(_mm_load_ps(SFRe + 340), mR));
	_mm_store_ps(SFIm + 340, _mm_add_ps(_mm_load_ps(SFIm + 340), mI));
	mRF1 = _mm_set_ps(0.438637, 0.449612, 0.460565, 0.471404);
	mIF1 = _mm_set_ps(-0.898664, -0.893224, -0.887626, -0.881918);
	mRF2 = _mm_set_ps(-0.978321, -0.985278, -0.990908, -0.995187);
	mIF2 = _mm_set_ps(0.207093, 0.170958, 0.134543, 0.097994);
	mR = _mm_load_ps(SFRe + 344);
	mI = _mm_load_ps(SFIm + 344);
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 344, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 472);
	mI = _mm_load_ps(SFIm + 472);
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 472, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 472);
	mI = _mm_load_ps(SFIm + 472);
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_load_ps(SFIm + 344), mI));
	_mm_store_ps(SFIm + 472, _mm_sub_ps(mR, _mm_load_ps(SFRe + 344)));
	_mm_store_ps(SFRe + 344, _mm_add_ps(_mm_load_ps(SFRe + 344), mR));
	_mm_store_ps(SFIm + 344, _mm_add_ps(_mm_load_ps(SFIm + 344), mI));
	mRF1 = _mm_set_ps(0.394001, 0.405230, 0.416444, 0.427550);
	mIF1 = _mm_set_ps(-0.919110, -0.914215, -0.909161, -0.903992);
	mRF2 = _mm_set_ps(-0.937349, -0.949532, -0.960430, -0.970039);
	mIF2 = _mm_set_ps(0.348392, 0.313669, 0.278521, 0.242948);
	mR = _mm_load_ps(SFRe + 348);
	mI = _mm_load_ps(SFIm + 348);
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 348, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 476);
	mI = _mm_load_ps(SFIm + 476);
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 476, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 476);
	mI = _mm_load_ps(SFIm + 476);
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFIm + 348), mI));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(mR, _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFRe + 348, _mm_add_ps(_mm_load_ps(SFRe + 348), mR));
	_mm_store_ps(SFIm + 348, _mm_add_ps(_mm_load_ps(SFIm + 348), mI));
	mRF1 = _mm_set_ps(0.348415, 0.359918, 0.371320, 0.382712);
	mIF1 = _mm_set_ps(-0.937340, -0.932984, -0.928505, -0.923868);
	mRF2 = _mm_set_ps(-0.876089, -0.893235, -0.909172, -0.923896);
	mIF2 = _mm_set_ps(0.482150, 0.449590, 0.416422, 0.382643);
	mR = _mm_load_ps(SFRe + 352);
	mI = _mm_load_ps(SFIm + 352);
	_mm_store_ps(SFRe + 352, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 352, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 480);
	mI = _mm_load_ps(SFIm + 480);
	_mm_store_ps(SFRe + 480, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 480, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 480);
	mI = _mm_load_ps(SFIm + 480);
	_mm_store_ps(SFRe + 480, _mm_sub_ps(_mm_load_ps(SFIm + 352), mI));
	_mm_store_ps(SFIm + 480, _mm_sub_ps(mR, _mm_load_ps(SFRe + 352)));
	_mm_store_ps(SFRe + 352, _mm_add_ps(_mm_load_ps(SFRe + 352), mR));
	_mm_store_ps(SFIm + 352, _mm_add_ps(_mm_load_ps(SFIm + 352), mI));
	mRF1 = _mm_set_ps(0.301990, 0.313692, 0.325300, 0.336907);
	mIF1 = _mm_set_ps(-0.953311, -0.949525, -0.945611, -0.941538);
	mRF2 = _mm_set_ps(-0.795836, -0.817604, -0.838235, -0.857731);
	mIF2 = _mm_set_ps(0.605512, 0.575780, 0.545309, 0.514099);
	mR = _mm_load_ps(SFRe + 356);
	mI = _mm_load_ps(SFIm + 356);
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 356, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 484);
	mI = _mm_load_ps(SFIm + 484);
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 484, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 484);
	mI = _mm_load_ps(SFIm + 484);
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_load_ps(SFIm + 356), mI));
	_mm_store_ps(SFIm + 484, _mm_sub_ps(mR, _mm_load_ps(SFRe + 356)));
	_mm_store_ps(SFRe + 356, _mm_add_ps(_mm_load_ps(SFRe + 356), mR));
	_mm_store_ps(SFIm + 356, _mm_add_ps(_mm_load_ps(SFIm + 356), mI));
	mRF1 = _mm_set_ps(0.254885, 0.266711, 0.278545, 0.290289);
	mIF1 = _mm_set_ps(-0.966971, -0.963777, -0.960423, -0.956939);
	mRF2 = _mm_set_ps(-0.698383, -0.724243, -0.749156, -0.773019);
	mIF2 = _mm_set_ps(0.715724, 0.689545, 0.662394, 0.634382);
	mR = _mm_load_ps(SFRe + 360);
	mI = _mm_load_ps(SFIm + 360);
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 488);
	mI = _mm_load_ps(SFIm + 488);
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 488, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 488);
	mI = _mm_load_ps(SFIm + 488);
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_load_ps(SFIm + 360), mI));
	_mm_store_ps(SFIm + 488, _mm_sub_ps(mR, _mm_load_ps(SFRe + 360)));
	_mm_store_ps(SFRe + 360, _mm_add_ps(_mm_load_ps(SFRe + 360), mR));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_load_ps(SFIm + 360), mI));
	mRF1 = _mm_set_ps(0.207118, 0.219086, 0.231071, 0.242972);
	mIF1 = _mm_set_ps(-0.978316, -0.975705, -0.972937, -0.970033);
	mRF2 = _mm_set_ps(-0.585814, -0.615235, -0.643823, -0.671577);
	mIF2 = _mm_set_ps(0.810446, 0.788344, 0.765174, 0.740935);
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 364, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 492, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFIm + 364), mI));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(mR, _mm_load_ps(SFRe + 364)));
	_mm_store_ps(SFRe + 364, _mm_add_ps(_mm_load_ps(SFRe + 364), mR));
	_mm_store_ps(SFIm + 364, _mm_add_ps(_mm_load_ps(SFIm + 364), mI));
	mRF1 = _mm_set_ps(0.158851, 0.170983, 0.183040, 0.195118);
	mIF1 = _mm_set_ps(-0.987302, -0.985274, -0.983106, -0.980780);
	mRF2 = _mm_set_ps(-0.460565, -0.492911, -0.524589, -0.555599);
	mIF2 = _mm_set_ps(0.887626, 0.870080, 0.851355, 0.831451);
	mR = _mm_load_ps(SFRe + 368);
	mI = _mm_load_ps(SFIm + 368);
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 368, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 496);
	mI = _mm_load_ps(SFIm + 496);
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 496, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 496);
	mI = _mm_load_ps(SFIm + 496);
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_load_ps(SFIm + 368), mI));
	_mm_store_ps(SFIm + 496, _mm_sub_ps(mR, _mm_load_ps(SFRe + 368)));
	_mm_store_ps(SFRe + 368, _mm_add_ps(_mm_load_ps(SFRe + 368), mR));
	_mm_store_ps(SFIm + 368, _mm_add_ps(_mm_load_ps(SFIm + 368), mI));
	mRF1 = _mm_set_ps(0.110252, 0.122419, 0.134567, 0.146745);
	mIF1 = _mm_set_ps(-0.993904, -0.992479, -0.990904, -0.989174);
	mRF2 = _mm_set_ps(-0.325300, -0.359918, -0.394001, -0.427550);
	mIF2 = _mm_set_ps(0.945611, 0.932984, 0.919110, 0.903992);
	mR = _mm_load_ps(SFRe + 372);
	mI = _mm_load_ps(SFIm + 372);
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 372, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 500);
	mI = _mm_load_ps(SFIm + 500);
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 500, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 500);
	mI = _mm_load_ps(SFIm + 500);
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFIm + 372), mI));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(mR, _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFRe + 372, _mm_add_ps(_mm_load_ps(SFRe + 372), mR));
	_mm_store_ps(SFIm + 372, _mm_add_ps(_mm_load_ps(SFIm + 372), mI));
	mRF1 = _mm_set_ps(0.061337, 0.073559, 0.085820, 0.098019);
	mIF1 = _mm_set_ps(-0.998117, -0.997291, -0.996311, -0.995185);
	mRF2 = _mm_set_ps(-0.183040, -0.219086, -0.254885, -0.290289);
	mIF2 = _mm_set_ps(0.983106, 0.975705, 0.966971, 0.956939);
	mR = _mm_load_ps(SFRe + 376);
	mI = _mm_load_ps(SFIm + 376);
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 376, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 504);
	mI = _mm_load_ps(SFIm + 504);
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 504, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 504);
	mI = _mm_load_ps(SFIm + 504);
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_load_ps(SFIm + 376), mI));
	_mm_store_ps(SFIm + 504, _mm_sub_ps(mR, _mm_load_ps(SFRe + 376)));
	_mm_store_ps(SFRe + 376, _mm_add_ps(_mm_load_ps(SFRe + 376), mR));
	_mm_store_ps(SFIm + 376, _mm_add_ps(_mm_load_ps(SFIm + 376), mI));
	mRF1 = _mm_set_ps(0.012275, 0.024523, 0.036817, 0.049056);
	mIF1 = _mm_set_ps(-0.999925, -0.999699, -0.999322, -0.998796);
	mRF2 = _mm_set_ps(-0.036817, -0.073559, -0.110252, -0.146745);
	mIF2 = _mm_set_ps(0.999322, 0.997291, 0.993904, 0.989174);
	mR = _mm_load_ps(SFRe + 380);
	mI = _mm_load_ps(SFIm + 380);
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 380, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 508);
	mI = _mm_load_ps(SFIm + 508);
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 508, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 508);
	mI = _mm_load_ps(SFIm + 508);
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFIm + 380), mI));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(mR, _mm_load_ps(SFRe + 380)));
	_mm_store_ps(SFRe + 380, _mm_add_ps(_mm_load_ps(SFRe + 380), mR));
	_mm_store_ps(SFIm + 380, _mm_add_ps(_mm_load_ps(SFIm + 380), mI));
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 256));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 256));
	_mm_store_ps(SFRe + 256, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 256)));
	_mm_store_ps(SFIm + 256, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 256)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 260));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 260));
	_mm_store_ps(SFRe + 260, _mm_sub_ps(_mm_load_ps(SFRe + 4), _mm_load_ps(SFRe + 260)));
	_mm_store_ps(SFIm + 260, _mm_sub_ps(_mm_load_ps(SFIm + 4), _mm_load_ps(SFIm + 260)));
	_mm_store_ps(SFRe + 4, mR);
	_mm_store_ps(SFIm + 4, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 264));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 264));
	_mm_store_ps(SFRe + 264, _mm_sub_ps(_mm_load_ps(SFRe + 8), _mm_load_ps(SFRe + 264)));
	_mm_store_ps(SFIm + 264, _mm_sub_ps(_mm_load_ps(SFIm + 8), _mm_load_ps(SFIm + 264)));
	_mm_store_ps(SFRe + 8, mR);
	_mm_store_ps(SFIm + 8, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 268));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 268));
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_load_ps(SFRe + 12), _mm_load_ps(SFRe + 268)));
	_mm_store_ps(SFIm + 268, _mm_sub_ps(_mm_load_ps(SFIm + 12), _mm_load_ps(SFIm + 268)));
	_mm_store_ps(SFRe + 12, mR);
	_mm_store_ps(SFIm + 12, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 272));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 272));
	_mm_store_ps(SFRe + 272, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 272)));
	_mm_store_ps(SFIm + 272, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 272)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 276));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 276));
	_mm_store_ps(SFRe + 276, _mm_sub_ps(_mm_load_ps(SFRe + 20), _mm_load_ps(SFRe + 276)));
	_mm_store_ps(SFIm + 276, _mm_sub_ps(_mm_load_ps(SFIm + 20), _mm_load_ps(SFIm + 276)));
	_mm_store_ps(SFRe + 20, mR);
	_mm_store_ps(SFIm + 20, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 280));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 280));
	_mm_store_ps(SFRe + 280, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 280)));
	_mm_store_ps(SFIm + 280, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 280)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 284));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 284));
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_load_ps(SFRe + 28), _mm_load_ps(SFRe + 284)));
	_mm_store_ps(SFIm + 284, _mm_sub_ps(_mm_load_ps(SFIm + 28), _mm_load_ps(SFIm + 284)));
	_mm_store_ps(SFRe + 28, mR);
	_mm_store_ps(SFIm + 28, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 288));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 288));
	_mm_store_ps(SFRe + 288, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 288)));
	_mm_store_ps(SFIm + 288, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 288)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 292));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 292));
	_mm_store_ps(SFRe + 292, _mm_sub_ps(_mm_load_ps(SFRe + 36), _mm_load_ps(SFRe + 292)));
	_mm_store_ps(SFIm + 292, _mm_sub_ps(_mm_load_ps(SFIm + 36), _mm_load_ps(SFIm + 292)));
	_mm_store_ps(SFRe + 36, mR);
	_mm_store_ps(SFIm + 36, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 296));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 296));
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_load_ps(SFRe + 40), _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFIm + 296, _mm_sub_ps(_mm_load_ps(SFIm + 40), _mm_load_ps(SFIm + 296)));
	_mm_store_ps(SFRe + 40, mR);
	_mm_store_ps(SFIm + 40, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 300));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 300));
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_load_ps(SFRe + 44), _mm_load_ps(SFRe + 300)));
	_mm_store_ps(SFIm + 300, _mm_sub_ps(_mm_load_ps(SFIm + 44), _mm_load_ps(SFIm + 300)));
	_mm_store_ps(SFRe + 44, mR);
	_mm_store_ps(SFIm + 44, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 304));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 304));
	_mm_store_ps(SFRe + 304, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 304)));
	_mm_store_ps(SFIm + 304, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 304)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 308));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 308));
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_load_ps(SFRe + 52), _mm_load_ps(SFRe + 308)));
	_mm_store_ps(SFIm + 308, _mm_sub_ps(_mm_load_ps(SFIm + 52), _mm_load_ps(SFIm + 308)));
	_mm_store_ps(SFRe + 52, mR);
	_mm_store_ps(SFIm + 52, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 312));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 312));
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_load_ps(SFRe + 56), _mm_load_ps(SFRe + 312)));
	_mm_store_ps(SFIm + 312, _mm_sub_ps(_mm_load_ps(SFIm + 56), _mm_load_ps(SFIm + 312)));
	_mm_store_ps(SFRe + 56, mR);
	_mm_store_ps(SFIm + 56, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 316));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 316));
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_load_ps(SFRe + 60), _mm_load_ps(SFRe + 316)));
	_mm_store_ps(SFIm + 316, _mm_sub_ps(_mm_load_ps(SFIm + 60), _mm_load_ps(SFIm + 316)));
	_mm_store_ps(SFRe + 60, mR);
	_mm_store_ps(SFIm + 60, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 320));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 320));
	_mm_store_ps(SFRe + 320, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 320)));
	_mm_store_ps(SFIm + 320, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 320)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 324));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 324));
	_mm_store_ps(SFRe + 324, _mm_sub_ps(_mm_load_ps(SFRe + 68), _mm_load_ps(SFRe + 324)));
	_mm_store_ps(SFIm + 324, _mm_sub_ps(_mm_load_ps(SFIm + 68), _mm_load_ps(SFIm + 324)));
	_mm_store_ps(SFRe + 68, mR);
	_mm_store_ps(SFIm + 68, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 328));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 328));
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_load_ps(SFRe + 72), _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFIm + 328, _mm_sub_ps(_mm_load_ps(SFIm + 72), _mm_load_ps(SFIm + 328)));
	_mm_store_ps(SFRe + 72, mR);
	_mm_store_ps(SFIm + 72, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 332));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 332));
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_load_ps(SFRe + 76), _mm_load_ps(SFRe + 332)));
	_mm_store_ps(SFIm + 332, _mm_sub_ps(_mm_load_ps(SFIm + 76), _mm_load_ps(SFIm + 332)));
	_mm_store_ps(SFRe + 76, mR);
	_mm_store_ps(SFIm + 76, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 336));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 336));
	_mm_store_ps(SFRe + 336, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 336)));
	_mm_store_ps(SFIm + 336, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 336)));
	_mm_store_ps(SFRe + 80, mR);
	_mm_store_ps(SFIm + 80, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 84), _mm_load_ps(SFRe + 340));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 84), _mm_load_ps(SFIm + 340));
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_load_ps(SFRe + 84), _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFIm + 340, _mm_sub_ps(_mm_load_ps(SFIm + 84), _mm_load_ps(SFIm + 340)));
	_mm_store_ps(SFRe + 84, mR);
	_mm_store_ps(SFIm + 84, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 344));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 344));
	_mm_store_ps(SFRe + 344, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 344)));
	_mm_store_ps(SFIm + 344, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 344)));
	_mm_store_ps(SFRe + 88, mR);
	_mm_store_ps(SFIm + 88, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 92), _mm_load_ps(SFRe + 348));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 92), _mm_load_ps(SFIm + 348));
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_load_ps(SFRe + 92), _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFIm + 348, _mm_sub_ps(_mm_load_ps(SFIm + 92), _mm_load_ps(SFIm + 348)));
	_mm_store_ps(SFRe + 92, mR);
	_mm_store_ps(SFIm + 92, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 352));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 352));
	_mm_store_ps(SFRe + 352, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 352)));
	_mm_store_ps(SFIm + 352, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 352)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 356));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 356));
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_load_ps(SFRe + 100), _mm_load_ps(SFRe + 356)));
	_mm_store_ps(SFIm + 356, _mm_sub_ps(_mm_load_ps(SFIm + 100), _mm_load_ps(SFIm + 356)));
	_mm_store_ps(SFRe + 100, mR);
	_mm_store_ps(SFIm + 100, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 360));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 360));
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_load_ps(SFRe + 104), _mm_load_ps(SFRe + 360)));
	_mm_store_ps(SFIm + 360, _mm_sub_ps(_mm_load_ps(SFIm + 104), _mm_load_ps(SFIm + 360)));
	_mm_store_ps(SFRe + 104, mR);
	_mm_store_ps(SFIm + 104, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 364));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 364));
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_load_ps(SFRe + 108), _mm_load_ps(SFRe + 364)));
	_mm_store_ps(SFIm + 364, _mm_sub_ps(_mm_load_ps(SFIm + 108), _mm_load_ps(SFIm + 364)));
	_mm_store_ps(SFRe + 108, mR);
	_mm_store_ps(SFIm + 108, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 368));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 368));
	_mm_store_ps(SFRe + 368, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 368)));
	_mm_store_ps(SFIm + 368, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 368)));
	_mm_store_ps(SFRe + 112, mR);
	_mm_store_ps(SFIm + 112, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 116), _mm_load_ps(SFRe + 372));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 116), _mm_load_ps(SFIm + 372));
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_load_ps(SFRe + 116), _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFIm + 372, _mm_sub_ps(_mm_load_ps(SFIm + 116), _mm_load_ps(SFIm + 372)));
	_mm_store_ps(SFRe + 116, mR);
	_mm_store_ps(SFIm + 116, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 376));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 376));
	_mm_store_ps(SFRe + 376, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 376)));
	_mm_store_ps(SFIm + 376, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 376)));
	_mm_store_ps(SFRe + 120, mR);
	_mm_store_ps(SFIm + 120, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 124), _mm_load_ps(SFRe + 380));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 124), _mm_load_ps(SFIm + 380));
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFRe + 124), _mm_load_ps(SFRe + 380)));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(_mm_load_ps(SFIm + 124), _mm_load_ps(SFIm + 380)));
	_mm_store_ps(SFRe + 124, mR);
	_mm_store_ps(SFIm + 124, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 384));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 384));
	_mm_store_ps(SFRe + 384, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 384)));
	_mm_store_ps(SFIm + 384, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 384)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 388));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 388));
	_mm_store_ps(SFRe + 388, _mm_sub_ps(_mm_load_ps(SFRe + 132), _mm_load_ps(SFRe + 388)));
	_mm_store_ps(SFIm + 388, _mm_sub_ps(_mm_load_ps(SFIm + 132), _mm_load_ps(SFIm + 388)));
	_mm_store_ps(SFRe + 132, mR);
	_mm_store_ps(SFIm + 132, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 392));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 392));
	_mm_store_ps(SFRe + 392, _mm_sub_ps(_mm_load_ps(SFRe + 136), _mm_load_ps(SFRe + 392)));
	_mm_store_ps(SFIm + 392, _mm_sub_ps(_mm_load_ps(SFIm + 136), _mm_load_ps(SFIm + 392)));
	_mm_store_ps(SFRe + 136, mR);
	_mm_store_ps(SFIm + 136, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 396));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 396));
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_load_ps(SFRe + 140), _mm_load_ps(SFRe + 396)));
	_mm_store_ps(SFIm + 396, _mm_sub_ps(_mm_load_ps(SFIm + 140), _mm_load_ps(SFIm + 396)));
	_mm_store_ps(SFRe + 140, mR);
	_mm_store_ps(SFIm + 140, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 400));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 400));
	_mm_store_ps(SFRe + 400, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 400)));
	_mm_store_ps(SFIm + 400, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 400)));
	_mm_store_ps(SFRe + 144, mR);
	_mm_store_ps(SFIm + 144, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 148), _mm_load_ps(SFRe + 404));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 148), _mm_load_ps(SFIm + 404));
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_load_ps(SFRe + 148), _mm_load_ps(SFRe + 404)));
	_mm_store_ps(SFIm + 404, _mm_sub_ps(_mm_load_ps(SFIm + 148), _mm_load_ps(SFIm + 404)));
	_mm_store_ps(SFRe + 148, mR);
	_mm_store_ps(SFIm + 148, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 408));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 408));
	_mm_store_ps(SFRe + 408, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 408)));
	_mm_store_ps(SFIm + 408, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 408)));
	_mm_store_ps(SFRe + 152, mR);
	_mm_store_ps(SFIm + 152, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 156), _mm_load_ps(SFRe + 412));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 156), _mm_load_ps(SFIm + 412));
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_load_ps(SFRe + 156), _mm_load_ps(SFRe + 412)));
	_mm_store_ps(SFIm + 412, _mm_sub_ps(_mm_load_ps(SFIm + 156), _mm_load_ps(SFIm + 412)));
	_mm_store_ps(SFRe + 156, mR);
	_mm_store_ps(SFIm + 156, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 416));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 416));
	_mm_store_ps(SFRe + 416, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 416)));
	_mm_store_ps(SFIm + 416, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 416)));
	_mm_store_ps(SFRe + 160, mR);
	_mm_store_ps(SFIm + 160, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 164), _mm_load_ps(SFRe + 420));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 164), _mm_load_ps(SFIm + 420));
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_load_ps(SFRe + 164), _mm_load_ps(SFRe + 420)));
	_mm_store_ps(SFIm + 420, _mm_sub_ps(_mm_load_ps(SFIm + 164), _mm_load_ps(SFIm + 420)));
	_mm_store_ps(SFRe + 164, mR);
	_mm_store_ps(SFIm + 164, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 168), _mm_load_ps(SFRe + 424));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 168), _mm_load_ps(SFIm + 424));
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_load_ps(SFRe + 168), _mm_load_ps(SFRe + 424)));
	_mm_store_ps(SFIm + 424, _mm_sub_ps(_mm_load_ps(SFIm + 168), _mm_load_ps(SFIm + 424)));
	_mm_store_ps(SFRe + 168, mR);
	_mm_store_ps(SFIm + 168, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 172), _mm_load_ps(SFRe + 428));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 172), _mm_load_ps(SFIm + 428));
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_load_ps(SFRe + 172), _mm_load_ps(SFRe + 428)));
	_mm_store_ps(SFIm + 428, _mm_sub_ps(_mm_load_ps(SFIm + 172), _mm_load_ps(SFIm + 428)));
	_mm_store_ps(SFRe + 172, mR);
	_mm_store_ps(SFIm + 172, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 432));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 432));
	_mm_store_ps(SFRe + 432, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 432)));
	_mm_store_ps(SFIm + 432, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 432)));
	_mm_store_ps(SFRe + 176, mR);
	_mm_store_ps(SFIm + 176, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 180), _mm_load_ps(SFRe + 436));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 180), _mm_load_ps(SFIm + 436));
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_load_ps(SFRe + 180), _mm_load_ps(SFRe + 436)));
	_mm_store_ps(SFIm + 436, _mm_sub_ps(_mm_load_ps(SFIm + 180), _mm_load_ps(SFIm + 436)));
	_mm_store_ps(SFRe + 180, mR);
	_mm_store_ps(SFIm + 180, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 184), _mm_load_ps(SFRe + 440));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 184), _mm_load_ps(SFIm + 440));
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_load_ps(SFRe + 184), _mm_load_ps(SFRe + 440)));
	_mm_store_ps(SFIm + 440, _mm_sub_ps(_mm_load_ps(SFIm + 184), _mm_load_ps(SFIm + 440)));
	_mm_store_ps(SFRe + 184, mR);
	_mm_store_ps(SFIm + 184, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 188), _mm_load_ps(SFRe + 444));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 188), _mm_load_ps(SFIm + 444));
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFRe + 188), _mm_load_ps(SFRe + 444)));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(_mm_load_ps(SFIm + 188), _mm_load_ps(SFIm + 444)));
	_mm_store_ps(SFRe + 188, mR);
	_mm_store_ps(SFIm + 188, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 448));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 448));
	_mm_store_ps(SFRe + 448, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 448)));
	_mm_store_ps(SFIm + 448, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 448)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 452));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 452));
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_load_ps(SFRe + 196), _mm_load_ps(SFRe + 452)));
	_mm_store_ps(SFIm + 452, _mm_sub_ps(_mm_load_ps(SFIm + 196), _mm_load_ps(SFIm + 452)));
	_mm_store_ps(SFRe + 196, mR);
	_mm_store_ps(SFIm + 196, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 456));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 456));
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_load_ps(SFRe + 200), _mm_load_ps(SFRe + 456)));
	_mm_store_ps(SFIm + 456, _mm_sub_ps(_mm_load_ps(SFIm + 200), _mm_load_ps(SFIm + 456)));
	_mm_store_ps(SFRe + 200, mR);
	_mm_store_ps(SFIm + 200, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 460));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 460));
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_load_ps(SFRe + 204), _mm_load_ps(SFRe + 460)));
	_mm_store_ps(SFIm + 460, _mm_sub_ps(_mm_load_ps(SFIm + 204), _mm_load_ps(SFIm + 460)));
	_mm_store_ps(SFRe + 204, mR);
	_mm_store_ps(SFIm + 204, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 464));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 464));
	_mm_store_ps(SFRe + 464, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 464)));
	_mm_store_ps(SFIm + 464, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 464)));
	_mm_store_ps(SFRe + 208, mR);
	_mm_store_ps(SFIm + 208, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 212), _mm_load_ps(SFRe + 468));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 212), _mm_load_ps(SFIm + 468));
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_load_ps(SFRe + 212), _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFIm + 468, _mm_sub_ps(_mm_load_ps(SFIm + 212), _mm_load_ps(SFIm + 468)));
	_mm_store_ps(SFRe + 212, mR);
	_mm_store_ps(SFIm + 212, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 472));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 472));
	_mm_store_ps(SFRe + 472, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 472)));
	_mm_store_ps(SFIm + 472, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 472)));
	_mm_store_ps(SFRe + 216, mR);
	_mm_store_ps(SFIm + 216, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 220), _mm_load_ps(SFRe + 476));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 220), _mm_load_ps(SFIm + 476));
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFRe + 220), _mm_load_ps(SFRe + 476)));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(_mm_load_ps(SFIm + 220), _mm_load_ps(SFIm + 476)));
	_mm_store_ps(SFRe + 220, mR);
	_mm_store_ps(SFIm + 220, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 480));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 480));
	_mm_store_ps(SFRe + 480, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 480)));
	_mm_store_ps(SFIm + 480, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 480)));
	_mm_store_ps(SFRe + 224, mR);
	_mm_store_ps(SFIm + 224, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 228), _mm_load_ps(SFRe + 484));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 228), _mm_load_ps(SFIm + 484));
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_load_ps(SFRe + 228), _mm_load_ps(SFRe + 484)));
	_mm_store_ps(SFIm + 484, _mm_sub_ps(_mm_load_ps(SFIm + 228), _mm_load_ps(SFIm + 484)));
	_mm_store_ps(SFRe + 228, mR);
	_mm_store_ps(SFIm + 228, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 232), _mm_load_ps(SFRe + 488));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 232), _mm_load_ps(SFIm + 488));
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_load_ps(SFRe + 232), _mm_load_ps(SFRe + 488)));
	_mm_store_ps(SFIm + 488, _mm_sub_ps(_mm_load_ps(SFIm + 232), _mm_load_ps(SFIm + 488)));
	_mm_store_ps(SFRe + 232, mR);
	_mm_store_ps(SFIm + 232, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 236), _mm_load_ps(SFRe + 492));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 236), _mm_load_ps(SFIm + 492));
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFRe + 236), _mm_load_ps(SFRe + 492)));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(_mm_load_ps(SFIm + 236), _mm_load_ps(SFIm + 492)));
	_mm_store_ps(SFRe + 236, mR);
	_mm_store_ps(SFIm + 236, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 496));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 496));
	_mm_store_ps(SFRe + 496, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 496)));
	_mm_store_ps(SFIm + 496, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 496)));
	_mm_store_ps(SFRe + 240, mR);
	_mm_store_ps(SFIm + 240, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 244), _mm_load_ps(SFRe + 500));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 244), _mm_load_ps(SFIm + 500));
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFRe + 244), _mm_load_ps(SFRe + 500)));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(_mm_load_ps(SFIm + 244), _mm_load_ps(SFIm + 500)));
	_mm_store_ps(SFRe + 244, mR);
	_mm_store_ps(SFIm + 244, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 248), _mm_load_ps(SFRe + 504));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 248), _mm_load_ps(SFIm + 504));
	_mm_store_ps(SFRe + 504, _mm_sub_ps(_mm_load_ps(SFRe + 248), _mm_load_ps(SFRe + 504)));
	_mm_store_ps(SFIm + 504, _mm_sub_ps(_mm_load_ps(SFIm + 248), _mm_load_ps(SFIm + 504)));
	_mm_store_ps(SFRe + 248, mR);
	_mm_store_ps(SFIm + 248, mI);
	mR = _mm_add_ps(_mm_load_ps(SFRe + 252), _mm_load_ps(SFRe + 508));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 252), _mm_load_ps(SFIm + 508));
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFRe + 252), _mm_load_ps(SFRe + 508)));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(_mm_load_ps(SFIm + 252), _mm_load_ps(SFIm + 508)));
	_mm_store_ps(SFRe + 252, mR);
	_mm_store_ps(SFIm + 252, mI);
}
#else
//AVX
void StaticFFT_9()
{
	float Re0, Re1, Re2, Re3;
	float Im0, Im1, Im2, Im3;
	float RA, IA;
	float RF1, IF1, RF2, IF2;
	float R, I;
	__m128 mRF1, mIF1, mRF2, mIF2;
	__m128 mR, mI;
	__m256 m256RF1, m256IF1, m256RF2, m256IF2;
	__m256 m256R, m256I;
	R = SFRe[510] + SFRe[511];
	I = SFIm[510] + SFIm[511];
	SFRe[511] = SFRe[510] - SFRe[511];
	SFIm[511] = SFIm[510] - SFIm[511];
	SFRe[510] = R;
	SFIm[510] = I;
	R = SFRe[508] + SFRe[509];
	I = SFIm[508] + SFIm[509];
	SFRe[509] = SFRe[508] - SFRe[509];
	SFIm[509] = SFIm[508] - SFIm[509];
	SFRe[508] = R;
	SFIm[508] = I;
	Re0 = SFRe[504]; Im0 = SFIm[504];
	Re1 = SFRe[505]; Im1 = SFIm[505];
	Re2 = SFRe[506]; Im2 = SFIm[506];
	Re3 = SFRe[507]; Im3 = SFIm[507];
	SFRe[504] = Re0 + Re1; SFIm[504] = Im0 + Im1;
	SFRe[505] = Re0 - Re1; SFIm[505] = Im0 - Im1;
	SFRe[506] = Re2 + Re3; SFIm[506] = Im2 + Im3;
	SFRe[507] = Im2 - Im3; SFIm[507] = Re3 - Re2;
	RA = SFRe[504] + SFRe[506];
	IA = SFIm[504] + SFIm[506];
	SFRe[506] = SFRe[504] - SFRe[506];
	SFIm[506] = SFIm[504] - SFIm[506];
	SFRe[504] = RA;
	SFIm[504] = IA;
	RA = SFRe[505] + SFRe[507];
	IA = SFIm[505] + SFIm[507];
	SFRe[507] = SFRe[505] - SFRe[507];
	SFIm[507] = SFIm[505] - SFIm[507];
	SFRe[505] = RA;
	SFIm[505] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[508];
	I = SFIm[508];
	SFRe[508] = R * RF1 - I * IF1;
	SFIm[508] = R * IF1 + I * RF1;
	R = SFRe[510];
	I = SFIm[510];
	SFRe[510] = R * RF2 - I * IF2;
	SFIm[510] = R * IF2 + I * RF2;
	R = SFRe[510];
	I = SFIm[510];
	SFRe[510] = SFIm[508] - I;
	SFIm[510] = R - SFRe[508];
	SFRe[508] += R;
	SFIm[508] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[509];
	I = SFIm[509];
	SFRe[509] = R * RF1 - I * IF1;
	SFIm[509] = R * IF1 + I * RF1;
	R = SFRe[511];
	I = SFIm[511];
	SFRe[511] = R * RF2 - I * IF2;
	SFIm[511] = R * IF2 + I * RF2;
	R = SFRe[511];
	I = SFIm[511];
	SFRe[511] = SFIm[509] - I;
	SFIm[511] = R - SFRe[509];
	SFRe[509] += R;
	SFIm[509] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 504), _mm_load_ps(SFRe + 508));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 504), _mm_load_ps(SFIm + 508));
	_mm_store_ps(SFRe + 508, _mm_sub_ps(_mm_load_ps(SFRe + 504), _mm_load_ps(SFRe + 508)));
	_mm_store_ps(SFIm + 508, _mm_sub_ps(_mm_load_ps(SFIm + 504), _mm_load_ps(SFIm + 508)));
	_mm_store_ps(SFRe + 504, mR);
	_mm_store_ps(SFIm + 504, mI);
	R = SFRe[502] + SFRe[503];
	I = SFIm[502] + SFIm[503];
	SFRe[503] = SFRe[502] - SFRe[503];
	SFIm[503] = SFIm[502] - SFIm[503];
	SFRe[502] = R;
	SFIm[502] = I;
	R = SFRe[500] + SFRe[501];
	I = SFIm[500] + SFIm[501];
	SFRe[501] = SFRe[500] - SFRe[501];
	SFIm[501] = SFIm[500] - SFIm[501];
	SFRe[500] = R;
	SFIm[500] = I;
	Re0 = SFRe[496]; Im0 = SFIm[496];
	Re1 = SFRe[497]; Im1 = SFIm[497];
	Re2 = SFRe[498]; Im2 = SFIm[498];
	Re3 = SFRe[499]; Im3 = SFIm[499];
	SFRe[496] = Re0 + Re1; SFIm[496] = Im0 + Im1;
	SFRe[497] = Re0 - Re1; SFIm[497] = Im0 - Im1;
	SFRe[498] = Re2 + Re3; SFIm[498] = Im2 + Im3;
	SFRe[499] = Im2 - Im3; SFIm[499] = Re3 - Re2;
	RA = SFRe[496] + SFRe[498];
	IA = SFIm[496] + SFIm[498];
	SFRe[498] = SFRe[496] - SFRe[498];
	SFIm[498] = SFIm[496] - SFIm[498];
	SFRe[496] = RA;
	SFIm[496] = IA;
	RA = SFRe[497] + SFRe[499];
	IA = SFIm[497] + SFIm[499];
	SFRe[499] = SFRe[497] - SFRe[499];
	SFIm[499] = SFIm[497] - SFIm[499];
	SFRe[497] = RA;
	SFIm[497] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[500];
	I = SFIm[500];
	SFRe[500] = R * RF1 - I * IF1;
	SFIm[500] = R * IF1 + I * RF1;
	R = SFRe[502];
	I = SFIm[502];
	SFRe[502] = R * RF2 - I * IF2;
	SFIm[502] = R * IF2 + I * RF2;
	R = SFRe[502];
	I = SFIm[502];
	SFRe[502] = SFIm[500] - I;
	SFIm[502] = R - SFRe[500];
	SFRe[500] += R;
	SFIm[500] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[501];
	I = SFIm[501];
	SFRe[501] = R * RF1 - I * IF1;
	SFIm[501] = R * IF1 + I * RF1;
	R = SFRe[503];
	I = SFIm[503];
	SFRe[503] = R * RF2 - I * IF2;
	SFIm[503] = R * IF2 + I * RF2;
	R = SFRe[503];
	I = SFIm[503];
	SFRe[503] = SFIm[501] - I;
	SFIm[503] = R - SFRe[501];
	SFRe[501] += R;
	SFIm[501] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 496), _mm_load_ps(SFRe + 500));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 496), _mm_load_ps(SFIm + 500));
	_mm_store_ps(SFRe + 500, _mm_sub_ps(_mm_load_ps(SFRe + 496), _mm_load_ps(SFRe + 500)));
	_mm_store_ps(SFIm + 500, _mm_sub_ps(_mm_load_ps(SFIm + 496), _mm_load_ps(SFIm + 500)));
	_mm_store_ps(SFRe + 496, mR);
	_mm_store_ps(SFIm + 496, mI);
	Re0 = SFRe[492]; Im0 = SFIm[492];
	Re1 = SFRe[493]; Im1 = SFIm[493];
	Re2 = SFRe[494]; Im2 = SFIm[494];
	Re3 = SFRe[495]; Im3 = SFIm[495];
	SFRe[492] = Re0 + Re1; SFIm[492] = Im0 + Im1;
	SFRe[493] = Re0 - Re1; SFIm[493] = Im0 - Im1;
	SFRe[494] = Re2 + Re3; SFIm[494] = Im2 + Im3;
	SFRe[495] = Im2 - Im3; SFIm[495] = Re3 - Re2;
	RA = SFRe[492] + SFRe[494];
	IA = SFIm[492] + SFIm[494];
	SFRe[494] = SFRe[492] - SFRe[494];
	SFIm[494] = SFIm[492] - SFIm[494];
	SFRe[492] = RA;
	SFIm[492] = IA;
	RA = SFRe[493] + SFRe[495];
	IA = SFIm[493] + SFIm[495];
	SFRe[495] = SFRe[493] - SFRe[495];
	SFIm[495] = SFIm[493] - SFIm[495];
	SFRe[493] = RA;
	SFIm[493] = IA;
	Re0 = SFRe[488]; Im0 = SFIm[488];
	Re1 = SFRe[489]; Im1 = SFIm[489];
	Re2 = SFRe[490]; Im2 = SFIm[490];
	Re3 = SFRe[491]; Im3 = SFIm[491];
	SFRe[488] = Re0 + Re1; SFIm[488] = Im0 + Im1;
	SFRe[489] = Re0 - Re1; SFIm[489] = Im0 - Im1;
	SFRe[490] = Re2 + Re3; SFIm[490] = Im2 + Im3;
	SFRe[491] = Im2 - Im3; SFIm[491] = Re3 - Re2;
	RA = SFRe[488] + SFRe[490];
	IA = SFIm[488] + SFIm[490];
	SFRe[490] = SFRe[488] - SFRe[490];
	SFIm[490] = SFIm[488] - SFIm[490];
	SFRe[488] = RA;
	SFIm[488] = IA;
	RA = SFRe[489] + SFRe[491];
	IA = SFIm[489] + SFIm[491];
	SFRe[491] = SFRe[489] - SFRe[491];
	SFIm[491] = SFIm[489] - SFIm[491];
	SFRe[489] = RA;
	SFIm[489] = IA;
	R = SFRe[486] + SFRe[487];
	I = SFIm[486] + SFIm[487];
	SFRe[487] = SFRe[486] - SFRe[487];
	SFIm[487] = SFIm[486] - SFIm[487];
	SFRe[486] = R;
	SFIm[486] = I;
	R = SFRe[484] + SFRe[485];
	I = SFIm[484] + SFIm[485];
	SFRe[485] = SFRe[484] - SFRe[485];
	SFIm[485] = SFIm[484] - SFIm[485];
	SFRe[484] = R;
	SFIm[484] = I;
	Re0 = SFRe[480]; Im0 = SFIm[480];
	Re1 = SFRe[481]; Im1 = SFIm[481];
	Re2 = SFRe[482]; Im2 = SFIm[482];
	Re3 = SFRe[483]; Im3 = SFIm[483];
	SFRe[480] = Re0 + Re1; SFIm[480] = Im0 + Im1;
	SFRe[481] = Re0 - Re1; SFIm[481] = Im0 - Im1;
	SFRe[482] = Re2 + Re3; SFIm[482] = Im2 + Im3;
	SFRe[483] = Im2 - Im3; SFIm[483] = Re3 - Re2;
	RA = SFRe[480] + SFRe[482];
	IA = SFIm[480] + SFIm[482];
	SFRe[482] = SFRe[480] - SFRe[482];
	SFIm[482] = SFIm[480] - SFIm[482];
	SFRe[480] = RA;
	SFIm[480] = IA;
	RA = SFRe[481] + SFRe[483];
	IA = SFIm[481] + SFIm[483];
	SFRe[483] = SFRe[481] - SFRe[483];
	SFIm[483] = SFIm[481] - SFIm[483];
	SFRe[481] = RA;
	SFIm[481] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[484];
	I = SFIm[484];
	SFRe[484] = R * RF1 - I * IF1;
	SFIm[484] = R * IF1 + I * RF1;
	R = SFRe[486];
	I = SFIm[486];
	SFRe[486] = R * RF2 - I * IF2;
	SFIm[486] = R * IF2 + I * RF2;
	R = SFRe[486];
	I = SFIm[486];
	SFRe[486] = SFIm[484] - I;
	SFIm[486] = R - SFRe[484];
	SFRe[484] += R;
	SFIm[484] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[485];
	I = SFIm[485];
	SFRe[485] = R * RF1 - I * IF1;
	SFIm[485] = R * IF1 + I * RF1;
	R = SFRe[487];
	I = SFIm[487];
	SFRe[487] = R * RF2 - I * IF2;
	SFIm[487] = R * IF2 + I * RF2;
	R = SFRe[487];
	I = SFIm[487];
	SFRe[487] = SFIm[485] - I;
	SFIm[487] = R - SFRe[485];
	SFRe[485] += R;
	SFIm[485] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 484));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 484));
	_mm_store_ps(SFRe + 484, _mm_sub_ps(_mm_load_ps(SFRe + 480), _mm_load_ps(SFRe + 484)));
	_mm_store_ps(SFIm + 484, _mm_sub_ps(_mm_load_ps(SFIm + 480), _mm_load_ps(SFIm + 484)));
	_mm_store_ps(SFRe + 480, mR);
	_mm_store_ps(SFIm + 480, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 488);
	mI = _mm_load_ps(SFIm + 488);
	_mm_store_ps(SFRe + 488, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 488, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 492, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 492);
	mI = _mm_load_ps(SFIm + 492);
	_mm_store_ps(SFRe + 492, _mm_sub_ps(_mm_load_ps(SFIm + 488), mI));
	_mm_store_ps(SFIm + 492, _mm_sub_ps(mR, _mm_load_ps(SFRe + 488)));
	_mm_store_ps(SFRe + 488, _mm_add_ps(_mm_load_ps(SFRe + 488), mR));
	_mm_store_ps(SFIm + 488, _mm_add_ps(_mm_load_ps(SFIm + 488), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 480), _mm256_load_ps(SFRe + 488));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 480), _mm256_load_ps(SFIm + 488));
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_load_ps(SFRe + 480), _mm256_load_ps(SFRe + 488)));
	_mm256_store_ps(SFIm + 488, _mm256_sub_ps(_mm256_load_ps(SFIm + 480), _mm256_load_ps(SFIm + 488)));
	_mm256_store_ps(SFRe + 480, m256R);
	_mm256_store_ps(SFIm + 480, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 496);
	m256I = _mm256_load_ps(SFIm + 496);
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 496, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 504);
	m256I = _mm256_load_ps(SFIm + 504);
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 504, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 504);
	m256I = _mm256_load_ps(SFIm + 504);
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_load_ps(SFIm + 496), m256I));
	_mm256_store_ps(SFIm + 504, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 496)));
	_mm256_store_ps(SFRe + 496, _mm256_add_ps(_mm256_load_ps(SFRe + 496), m256R));
	_mm256_store_ps(SFIm + 496, _mm256_add_ps(_mm256_load_ps(SFIm + 496), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 480), _mm256_load_ps(SFRe + 496));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 480), _mm256_load_ps(SFIm + 496));
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_load_ps(SFRe + 480), _mm256_load_ps(SFRe + 496)));
	_mm256_store_ps(SFIm + 496, _mm256_sub_ps(_mm256_load_ps(SFIm + 480), _mm256_load_ps(SFIm + 496)));
	_mm256_store_ps(SFRe + 480, m256R);
	_mm256_store_ps(SFIm + 480, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 488), _mm256_load_ps(SFRe + 504));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 488), _mm256_load_ps(SFIm + 504));
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_load_ps(SFRe + 488), _mm256_load_ps(SFRe + 504)));
	_mm256_store_ps(SFIm + 504, _mm256_sub_ps(_mm256_load_ps(SFIm + 488), _mm256_load_ps(SFIm + 504)));
	_mm256_store_ps(SFRe + 488, m256R);
	_mm256_store_ps(SFIm + 488, m256I);
	R = SFRe[478] + SFRe[479];
	I = SFIm[478] + SFIm[479];
	SFRe[479] = SFRe[478] - SFRe[479];
	SFIm[479] = SFIm[478] - SFIm[479];
	SFRe[478] = R;
	SFIm[478] = I;
	R = SFRe[476] + SFRe[477];
	I = SFIm[476] + SFIm[477];
	SFRe[477] = SFRe[476] - SFRe[477];
	SFIm[477] = SFIm[476] - SFIm[477];
	SFRe[476] = R;
	SFIm[476] = I;
	Re0 = SFRe[472]; Im0 = SFIm[472];
	Re1 = SFRe[473]; Im1 = SFIm[473];
	Re2 = SFRe[474]; Im2 = SFIm[474];
	Re3 = SFRe[475]; Im3 = SFIm[475];
	SFRe[472] = Re0 + Re1; SFIm[472] = Im0 + Im1;
	SFRe[473] = Re0 - Re1; SFIm[473] = Im0 - Im1;
	SFRe[474] = Re2 + Re3; SFIm[474] = Im2 + Im3;
	SFRe[475] = Im2 - Im3; SFIm[475] = Re3 - Re2;
	RA = SFRe[472] + SFRe[474];
	IA = SFIm[472] + SFIm[474];
	SFRe[474] = SFRe[472] - SFRe[474];
	SFIm[474] = SFIm[472] - SFIm[474];
	SFRe[472] = RA;
	SFIm[472] = IA;
	RA = SFRe[473] + SFRe[475];
	IA = SFIm[473] + SFIm[475];
	SFRe[475] = SFRe[473] - SFRe[475];
	SFIm[475] = SFIm[473] - SFIm[475];
	SFRe[473] = RA;
	SFIm[473] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[476];
	I = SFIm[476];
	SFRe[476] = R * RF1 - I * IF1;
	SFIm[476] = R * IF1 + I * RF1;
	R = SFRe[478];
	I = SFIm[478];
	SFRe[478] = R * RF2 - I * IF2;
	SFIm[478] = R * IF2 + I * RF2;
	R = SFRe[478];
	I = SFIm[478];
	SFRe[478] = SFIm[476] - I;
	SFIm[478] = R - SFRe[476];
	SFRe[476] += R;
	SFIm[476] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[477];
	I = SFIm[477];
	SFRe[477] = R * RF1 - I * IF1;
	SFIm[477] = R * IF1 + I * RF1;
	R = SFRe[479];
	I = SFIm[479];
	SFRe[479] = R * RF2 - I * IF2;
	SFIm[479] = R * IF2 + I * RF2;
	R = SFRe[479];
	I = SFIm[479];
	SFRe[479] = SFIm[477] - I;
	SFIm[479] = R - SFRe[477];
	SFRe[477] += R;
	SFIm[477] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 472), _mm_load_ps(SFRe + 476));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 472), _mm_load_ps(SFIm + 476));
	_mm_store_ps(SFRe + 476, _mm_sub_ps(_mm_load_ps(SFRe + 472), _mm_load_ps(SFRe + 476)));
	_mm_store_ps(SFIm + 476, _mm_sub_ps(_mm_load_ps(SFIm + 472), _mm_load_ps(SFIm + 476)));
	_mm_store_ps(SFRe + 472, mR);
	_mm_store_ps(SFIm + 472, mI);
	R = SFRe[470] + SFRe[471];
	I = SFIm[470] + SFIm[471];
	SFRe[471] = SFRe[470] - SFRe[471];
	SFIm[471] = SFIm[470] - SFIm[471];
	SFRe[470] = R;
	SFIm[470] = I;
	R = SFRe[468] + SFRe[469];
	I = SFIm[468] + SFIm[469];
	SFRe[469] = SFRe[468] - SFRe[469];
	SFIm[469] = SFIm[468] - SFIm[469];
	SFRe[468] = R;
	SFIm[468] = I;
	Re0 = SFRe[464]; Im0 = SFIm[464];
	Re1 = SFRe[465]; Im1 = SFIm[465];
	Re2 = SFRe[466]; Im2 = SFIm[466];
	Re3 = SFRe[467]; Im3 = SFIm[467];
	SFRe[464] = Re0 + Re1; SFIm[464] = Im0 + Im1;
	SFRe[465] = Re0 - Re1; SFIm[465] = Im0 - Im1;
	SFRe[466] = Re2 + Re3; SFIm[466] = Im2 + Im3;
	SFRe[467] = Im2 - Im3; SFIm[467] = Re3 - Re2;
	RA = SFRe[464] + SFRe[466];
	IA = SFIm[464] + SFIm[466];
	SFRe[466] = SFRe[464] - SFRe[466];
	SFIm[466] = SFIm[464] - SFIm[466];
	SFRe[464] = RA;
	SFIm[464] = IA;
	RA = SFRe[465] + SFRe[467];
	IA = SFIm[465] + SFIm[467];
	SFRe[467] = SFRe[465] - SFRe[467];
	SFIm[467] = SFIm[465] - SFIm[467];
	SFRe[465] = RA;
	SFIm[465] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[468];
	I = SFIm[468];
	SFRe[468] = R * RF1 - I * IF1;
	SFIm[468] = R * IF1 + I * RF1;
	R = SFRe[470];
	I = SFIm[470];
	SFRe[470] = R * RF2 - I * IF2;
	SFIm[470] = R * IF2 + I * RF2;
	R = SFRe[470];
	I = SFIm[470];
	SFRe[470] = SFIm[468] - I;
	SFIm[470] = R - SFRe[468];
	SFRe[468] += R;
	SFIm[468] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[469];
	I = SFIm[469];
	SFRe[469] = R * RF1 - I * IF1;
	SFIm[469] = R * IF1 + I * RF1;
	R = SFRe[471];
	I = SFIm[471];
	SFRe[471] = R * RF2 - I * IF2;
	SFIm[471] = R * IF2 + I * RF2;
	R = SFRe[471];
	I = SFIm[471];
	SFRe[471] = SFIm[469] - I;
	SFIm[471] = R - SFRe[469];
	SFRe[469] += R;
	SFIm[469] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 464), _mm_load_ps(SFRe + 468));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 464), _mm_load_ps(SFIm + 468));
	_mm_store_ps(SFRe + 468, _mm_sub_ps(_mm_load_ps(SFRe + 464), _mm_load_ps(SFRe + 468)));
	_mm_store_ps(SFIm + 468, _mm_sub_ps(_mm_load_ps(SFIm + 464), _mm_load_ps(SFIm + 468)));
	_mm_store_ps(SFRe + 464, mR);
	_mm_store_ps(SFIm + 464, mI);
	Re0 = SFRe[460]; Im0 = SFIm[460];
	Re1 = SFRe[461]; Im1 = SFIm[461];
	Re2 = SFRe[462]; Im2 = SFIm[462];
	Re3 = SFRe[463]; Im3 = SFIm[463];
	SFRe[460] = Re0 + Re1; SFIm[460] = Im0 + Im1;
	SFRe[461] = Re0 - Re1; SFIm[461] = Im0 - Im1;
	SFRe[462] = Re2 + Re3; SFIm[462] = Im2 + Im3;
	SFRe[463] = Im2 - Im3; SFIm[463] = Re3 - Re2;
	RA = SFRe[460] + SFRe[462];
	IA = SFIm[460] + SFIm[462];
	SFRe[462] = SFRe[460] - SFRe[462];
	SFIm[462] = SFIm[460] - SFIm[462];
	SFRe[460] = RA;
	SFIm[460] = IA;
	RA = SFRe[461] + SFRe[463];
	IA = SFIm[461] + SFIm[463];
	SFRe[463] = SFRe[461] - SFRe[463];
	SFIm[463] = SFIm[461] - SFIm[463];
	SFRe[461] = RA;
	SFIm[461] = IA;
	Re0 = SFRe[456]; Im0 = SFIm[456];
	Re1 = SFRe[457]; Im1 = SFIm[457];
	Re2 = SFRe[458]; Im2 = SFIm[458];
	Re3 = SFRe[459]; Im3 = SFIm[459];
	SFRe[456] = Re0 + Re1; SFIm[456] = Im0 + Im1;
	SFRe[457] = Re0 - Re1; SFIm[457] = Im0 - Im1;
	SFRe[458] = Re2 + Re3; SFIm[458] = Im2 + Im3;
	SFRe[459] = Im2 - Im3; SFIm[459] = Re3 - Re2;
	RA = SFRe[456] + SFRe[458];
	IA = SFIm[456] + SFIm[458];
	SFRe[458] = SFRe[456] - SFRe[458];
	SFIm[458] = SFIm[456] - SFIm[458];
	SFRe[456] = RA;
	SFIm[456] = IA;
	RA = SFRe[457] + SFRe[459];
	IA = SFIm[457] + SFIm[459];
	SFRe[459] = SFRe[457] - SFRe[459];
	SFIm[459] = SFIm[457] - SFIm[459];
	SFRe[457] = RA;
	SFIm[457] = IA;
	R = SFRe[454] + SFRe[455];
	I = SFIm[454] + SFIm[455];
	SFRe[455] = SFRe[454] - SFRe[455];
	SFIm[455] = SFIm[454] - SFIm[455];
	SFRe[454] = R;
	SFIm[454] = I;
	R = SFRe[452] + SFRe[453];
	I = SFIm[452] + SFIm[453];
	SFRe[453] = SFRe[452] - SFRe[453];
	SFIm[453] = SFIm[452] - SFIm[453];
	SFRe[452] = R;
	SFIm[452] = I;
	Re0 = SFRe[448]; Im0 = SFIm[448];
	Re1 = SFRe[449]; Im1 = SFIm[449];
	Re2 = SFRe[450]; Im2 = SFIm[450];
	Re3 = SFRe[451]; Im3 = SFIm[451];
	SFRe[448] = Re0 + Re1; SFIm[448] = Im0 + Im1;
	SFRe[449] = Re0 - Re1; SFIm[449] = Im0 - Im1;
	SFRe[450] = Re2 + Re3; SFIm[450] = Im2 + Im3;
	SFRe[451] = Im2 - Im3; SFIm[451] = Re3 - Re2;
	RA = SFRe[448] + SFRe[450];
	IA = SFIm[448] + SFIm[450];
	SFRe[450] = SFRe[448] - SFRe[450];
	SFIm[450] = SFIm[448] - SFIm[450];
	SFRe[448] = RA;
	SFIm[448] = IA;
	RA = SFRe[449] + SFRe[451];
	IA = SFIm[449] + SFIm[451];
	SFRe[451] = SFRe[449] - SFRe[451];
	SFIm[451] = SFIm[449] - SFIm[451];
	SFRe[449] = RA;
	SFIm[449] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[452];
	I = SFIm[452];
	SFRe[452] = R * RF1 - I * IF1;
	SFIm[452] = R * IF1 + I * RF1;
	R = SFRe[454];
	I = SFIm[454];
	SFRe[454] = R * RF2 - I * IF2;
	SFIm[454] = R * IF2 + I * RF2;
	R = SFRe[454];
	I = SFIm[454];
	SFRe[454] = SFIm[452] - I;
	SFIm[454] = R - SFRe[452];
	SFRe[452] += R;
	SFIm[452] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[453];
	I = SFIm[453];
	SFRe[453] = R * RF1 - I * IF1;
	SFIm[453] = R * IF1 + I * RF1;
	R = SFRe[455];
	I = SFIm[455];
	SFRe[455] = R * RF2 - I * IF2;
	SFIm[455] = R * IF2 + I * RF2;
	R = SFRe[455];
	I = SFIm[455];
	SFRe[455] = SFIm[453] - I;
	SFIm[455] = R - SFRe[453];
	SFRe[453] += R;
	SFIm[453] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 452));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 452));
	_mm_store_ps(SFRe + 452, _mm_sub_ps(_mm_load_ps(SFRe + 448), _mm_load_ps(SFRe + 452)));
	_mm_store_ps(SFIm + 452, _mm_sub_ps(_mm_load_ps(SFIm + 448), _mm_load_ps(SFIm + 452)));
	_mm_store_ps(SFRe + 448, mR);
	_mm_store_ps(SFIm + 448, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 456);
	mI = _mm_load_ps(SFIm + 456);
	_mm_store_ps(SFRe + 456, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 460, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 460);
	mI = _mm_load_ps(SFIm + 460);
	_mm_store_ps(SFRe + 460, _mm_sub_ps(_mm_load_ps(SFIm + 456), mI));
	_mm_store_ps(SFIm + 460, _mm_sub_ps(mR, _mm_load_ps(SFRe + 456)));
	_mm_store_ps(SFRe + 456, _mm_add_ps(_mm_load_ps(SFRe + 456), mR));
	_mm_store_ps(SFIm + 456, _mm_add_ps(_mm_load_ps(SFIm + 456), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 448), _mm256_load_ps(SFRe + 456));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 448), _mm256_load_ps(SFIm + 456));
	_mm256_store_ps(SFRe + 456, _mm256_sub_ps(_mm256_load_ps(SFRe + 448), _mm256_load_ps(SFRe + 456)));
	_mm256_store_ps(SFIm + 456, _mm256_sub_ps(_mm256_load_ps(SFIm + 448), _mm256_load_ps(SFIm + 456)));
	_mm256_store_ps(SFRe + 448, m256R);
	_mm256_store_ps(SFIm + 448, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 464);
	m256I = _mm256_load_ps(SFIm + 464);
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 464, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 472);
	m256I = _mm256_load_ps(SFIm + 472);
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 472, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 472);
	m256I = _mm256_load_ps(SFIm + 472);
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_load_ps(SFIm + 464), m256I));
	_mm256_store_ps(SFIm + 472, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 464)));
	_mm256_store_ps(SFRe + 464, _mm256_add_ps(_mm256_load_ps(SFRe + 464), m256R));
	_mm256_store_ps(SFIm + 464, _mm256_add_ps(_mm256_load_ps(SFIm + 464), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 448), _mm256_load_ps(SFRe + 464));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 448), _mm256_load_ps(SFIm + 464));
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_load_ps(SFRe + 448), _mm256_load_ps(SFRe + 464)));
	_mm256_store_ps(SFIm + 464, _mm256_sub_ps(_mm256_load_ps(SFIm + 448), _mm256_load_ps(SFIm + 464)));
	_mm256_store_ps(SFRe + 448, m256R);
	_mm256_store_ps(SFIm + 448, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 456), _mm256_load_ps(SFRe + 472));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 456), _mm256_load_ps(SFIm + 472));
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_load_ps(SFRe + 456), _mm256_load_ps(SFRe + 472)));
	_mm256_store_ps(SFIm + 472, _mm256_sub_ps(_mm256_load_ps(SFIm + 456), _mm256_load_ps(SFIm + 472)));
	_mm256_store_ps(SFRe + 456, m256R);
	_mm256_store_ps(SFIm + 456, m256I);
	Re0 = SFRe[444]; Im0 = SFIm[444];
	Re1 = SFRe[445]; Im1 = SFIm[445];
	Re2 = SFRe[446]; Im2 = SFIm[446];
	Re3 = SFRe[447]; Im3 = SFIm[447];
	SFRe[444] = Re0 + Re1; SFIm[444] = Im0 + Im1;
	SFRe[445] = Re0 - Re1; SFIm[445] = Im0 - Im1;
	SFRe[446] = Re2 + Re3; SFIm[446] = Im2 + Im3;
	SFRe[447] = Im2 - Im3; SFIm[447] = Re3 - Re2;
	RA = SFRe[444] + SFRe[446];
	IA = SFIm[444] + SFIm[446];
	SFRe[446] = SFRe[444] - SFRe[446];
	SFIm[446] = SFIm[444] - SFIm[446];
	SFRe[444] = RA;
	SFIm[444] = IA;
	RA = SFRe[445] + SFRe[447];
	IA = SFIm[445] + SFIm[447];
	SFRe[447] = SFRe[445] - SFRe[447];
	SFIm[447] = SFIm[445] - SFIm[447];
	SFRe[445] = RA;
	SFIm[445] = IA;
	Re0 = SFRe[440]; Im0 = SFIm[440];
	Re1 = SFRe[441]; Im1 = SFIm[441];
	Re2 = SFRe[442]; Im2 = SFIm[442];
	Re3 = SFRe[443]; Im3 = SFIm[443];
	SFRe[440] = Re0 + Re1; SFIm[440] = Im0 + Im1;
	SFRe[441] = Re0 - Re1; SFIm[441] = Im0 - Im1;
	SFRe[442] = Re2 + Re3; SFIm[442] = Im2 + Im3;
	SFRe[443] = Im2 - Im3; SFIm[443] = Re3 - Re2;
	RA = SFRe[440] + SFRe[442];
	IA = SFIm[440] + SFIm[442];
	SFRe[442] = SFRe[440] - SFRe[442];
	SFIm[442] = SFIm[440] - SFIm[442];
	SFRe[440] = RA;
	SFIm[440] = IA;
	RA = SFRe[441] + SFRe[443];
	IA = SFIm[441] + SFIm[443];
	SFRe[443] = SFRe[441] - SFRe[443];
	SFIm[443] = SFIm[441] - SFIm[443];
	SFRe[441] = RA;
	SFIm[441] = IA;
	R = SFRe[438] + SFRe[439];
	I = SFIm[438] + SFIm[439];
	SFRe[439] = SFRe[438] - SFRe[439];
	SFIm[439] = SFIm[438] - SFIm[439];
	SFRe[438] = R;
	SFIm[438] = I;
	R = SFRe[436] + SFRe[437];
	I = SFIm[436] + SFIm[437];
	SFRe[437] = SFRe[436] - SFRe[437];
	SFIm[437] = SFIm[436] - SFIm[437];
	SFRe[436] = R;
	SFIm[436] = I;
	Re0 = SFRe[432]; Im0 = SFIm[432];
	Re1 = SFRe[433]; Im1 = SFIm[433];
	Re2 = SFRe[434]; Im2 = SFIm[434];
	Re3 = SFRe[435]; Im3 = SFIm[435];
	SFRe[432] = Re0 + Re1; SFIm[432] = Im0 + Im1;
	SFRe[433] = Re0 - Re1; SFIm[433] = Im0 - Im1;
	SFRe[434] = Re2 + Re3; SFIm[434] = Im2 + Im3;
	SFRe[435] = Im2 - Im3; SFIm[435] = Re3 - Re2;
	RA = SFRe[432] + SFRe[434];
	IA = SFIm[432] + SFIm[434];
	SFRe[434] = SFRe[432] - SFRe[434];
	SFIm[434] = SFIm[432] - SFIm[434];
	SFRe[432] = RA;
	SFIm[432] = IA;
	RA = SFRe[433] + SFRe[435];
	IA = SFIm[433] + SFIm[435];
	SFRe[435] = SFRe[433] - SFRe[435];
	SFIm[435] = SFIm[433] - SFIm[435];
	SFRe[433] = RA;
	SFIm[433] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[436];
	I = SFIm[436];
	SFRe[436] = R * RF1 - I * IF1;
	SFIm[436] = R * IF1 + I * RF1;
	R = SFRe[438];
	I = SFIm[438];
	SFRe[438] = R * RF2 - I * IF2;
	SFIm[438] = R * IF2 + I * RF2;
	R = SFRe[438];
	I = SFIm[438];
	SFRe[438] = SFIm[436] - I;
	SFIm[438] = R - SFRe[436];
	SFRe[436] += R;
	SFIm[436] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[437];
	I = SFIm[437];
	SFRe[437] = R * RF1 - I * IF1;
	SFIm[437] = R * IF1 + I * RF1;
	R = SFRe[439];
	I = SFIm[439];
	SFRe[439] = R * RF2 - I * IF2;
	SFIm[439] = R * IF2 + I * RF2;
	R = SFRe[439];
	I = SFIm[439];
	SFRe[439] = SFIm[437] - I;
	SFIm[439] = R - SFRe[437];
	SFRe[437] += R;
	SFIm[437] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 436));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 436));
	_mm_store_ps(SFRe + 436, _mm_sub_ps(_mm_load_ps(SFRe + 432), _mm_load_ps(SFRe + 436)));
	_mm_store_ps(SFIm + 436, _mm_sub_ps(_mm_load_ps(SFIm + 432), _mm_load_ps(SFIm + 436)));
	_mm_store_ps(SFRe + 432, mR);
	_mm_store_ps(SFIm + 432, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 440);
	mI = _mm_load_ps(SFIm + 440);
	_mm_store_ps(SFRe + 440, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 440, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 444, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 444);
	mI = _mm_load_ps(SFIm + 444);
	_mm_store_ps(SFRe + 444, _mm_sub_ps(_mm_load_ps(SFIm + 440), mI));
	_mm_store_ps(SFIm + 444, _mm_sub_ps(mR, _mm_load_ps(SFRe + 440)));
	_mm_store_ps(SFRe + 440, _mm_add_ps(_mm_load_ps(SFRe + 440), mR));
	_mm_store_ps(SFIm + 440, _mm_add_ps(_mm_load_ps(SFIm + 440), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 432), _mm256_load_ps(SFRe + 440));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 432), _mm256_load_ps(SFIm + 440));
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_load_ps(SFRe + 432), _mm256_load_ps(SFRe + 440)));
	_mm256_store_ps(SFIm + 440, _mm256_sub_ps(_mm256_load_ps(SFIm + 432), _mm256_load_ps(SFIm + 440)));
	_mm256_store_ps(SFRe + 432, m256R);
	_mm256_store_ps(SFIm + 432, m256I);
	Re0 = SFRe[428]; Im0 = SFIm[428];
	Re1 = SFRe[429]; Im1 = SFIm[429];
	Re2 = SFRe[430]; Im2 = SFIm[430];
	Re3 = SFRe[431]; Im3 = SFIm[431];
	SFRe[428] = Re0 + Re1; SFIm[428] = Im0 + Im1;
	SFRe[429] = Re0 - Re1; SFIm[429] = Im0 - Im1;
	SFRe[430] = Re2 + Re3; SFIm[430] = Im2 + Im3;
	SFRe[431] = Im2 - Im3; SFIm[431] = Re3 - Re2;
	RA = SFRe[428] + SFRe[430];
	IA = SFIm[428] + SFIm[430];
	SFRe[430] = SFRe[428] - SFRe[430];
	SFIm[430] = SFIm[428] - SFIm[430];
	SFRe[428] = RA;
	SFIm[428] = IA;
	RA = SFRe[429] + SFRe[431];
	IA = SFIm[429] + SFIm[431];
	SFRe[431] = SFRe[429] - SFRe[431];
	SFIm[431] = SFIm[429] - SFIm[431];
	SFRe[429] = RA;
	SFIm[429] = IA;
	Re0 = SFRe[424]; Im0 = SFIm[424];
	Re1 = SFRe[425]; Im1 = SFIm[425];
	Re2 = SFRe[426]; Im2 = SFIm[426];
	Re3 = SFRe[427]; Im3 = SFIm[427];
	SFRe[424] = Re0 + Re1; SFIm[424] = Im0 + Im1;
	SFRe[425] = Re0 - Re1; SFIm[425] = Im0 - Im1;
	SFRe[426] = Re2 + Re3; SFIm[426] = Im2 + Im3;
	SFRe[427] = Im2 - Im3; SFIm[427] = Re3 - Re2;
	RA = SFRe[424] + SFRe[426];
	IA = SFIm[424] + SFIm[426];
	SFRe[426] = SFRe[424] - SFRe[426];
	SFIm[426] = SFIm[424] - SFIm[426];
	SFRe[424] = RA;
	SFIm[424] = IA;
	RA = SFRe[425] + SFRe[427];
	IA = SFIm[425] + SFIm[427];
	SFRe[427] = SFRe[425] - SFRe[427];
	SFIm[427] = SFIm[425] - SFIm[427];
	SFRe[425] = RA;
	SFIm[425] = IA;
	R = SFRe[422] + SFRe[423];
	I = SFIm[422] + SFIm[423];
	SFRe[423] = SFRe[422] - SFRe[423];
	SFIm[423] = SFIm[422] - SFIm[423];
	SFRe[422] = R;
	SFIm[422] = I;
	R = SFRe[420] + SFRe[421];
	I = SFIm[420] + SFIm[421];
	SFRe[421] = SFRe[420] - SFRe[421];
	SFIm[421] = SFIm[420] - SFIm[421];
	SFRe[420] = R;
	SFIm[420] = I;
	Re0 = SFRe[416]; Im0 = SFIm[416];
	Re1 = SFRe[417]; Im1 = SFIm[417];
	Re2 = SFRe[418]; Im2 = SFIm[418];
	Re3 = SFRe[419]; Im3 = SFIm[419];
	SFRe[416] = Re0 + Re1; SFIm[416] = Im0 + Im1;
	SFRe[417] = Re0 - Re1; SFIm[417] = Im0 - Im1;
	SFRe[418] = Re2 + Re3; SFIm[418] = Im2 + Im3;
	SFRe[419] = Im2 - Im3; SFIm[419] = Re3 - Re2;
	RA = SFRe[416] + SFRe[418];
	IA = SFIm[416] + SFIm[418];
	SFRe[418] = SFRe[416] - SFRe[418];
	SFIm[418] = SFIm[416] - SFIm[418];
	SFRe[416] = RA;
	SFIm[416] = IA;
	RA = SFRe[417] + SFRe[419];
	IA = SFIm[417] + SFIm[419];
	SFRe[419] = SFRe[417] - SFRe[419];
	SFIm[419] = SFIm[417] - SFIm[419];
	SFRe[417] = RA;
	SFIm[417] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[420];
	I = SFIm[420];
	SFRe[420] = R * RF1 - I * IF1;
	SFIm[420] = R * IF1 + I * RF1;
	R = SFRe[422];
	I = SFIm[422];
	SFRe[422] = R * RF2 - I * IF2;
	SFIm[422] = R * IF2 + I * RF2;
	R = SFRe[422];
	I = SFIm[422];
	SFRe[422] = SFIm[420] - I;
	SFIm[422] = R - SFRe[420];
	SFRe[420] += R;
	SFIm[420] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[421];
	I = SFIm[421];
	SFRe[421] = R * RF1 - I * IF1;
	SFIm[421] = R * IF1 + I * RF1;
	R = SFRe[423];
	I = SFIm[423];
	SFRe[423] = R * RF2 - I * IF2;
	SFIm[423] = R * IF2 + I * RF2;
	R = SFRe[423];
	I = SFIm[423];
	SFRe[423] = SFIm[421] - I;
	SFIm[423] = R - SFRe[421];
	SFRe[421] += R;
	SFIm[421] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 420));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 420));
	_mm_store_ps(SFRe + 420, _mm_sub_ps(_mm_load_ps(SFRe + 416), _mm_load_ps(SFRe + 420)));
	_mm_store_ps(SFIm + 420, _mm_sub_ps(_mm_load_ps(SFIm + 416), _mm_load_ps(SFIm + 420)));
	_mm_store_ps(SFRe + 416, mR);
	_mm_store_ps(SFIm + 416, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 424);
	mI = _mm_load_ps(SFIm + 424);
	_mm_store_ps(SFRe + 424, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 428, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 428);
	mI = _mm_load_ps(SFIm + 428);
	_mm_store_ps(SFRe + 428, _mm_sub_ps(_mm_load_ps(SFIm + 424), mI));
	_mm_store_ps(SFIm + 428, _mm_sub_ps(mR, _mm_load_ps(SFRe + 424)));
	_mm_store_ps(SFRe + 424, _mm_add_ps(_mm_load_ps(SFRe + 424), mR));
	_mm_store_ps(SFIm + 424, _mm_add_ps(_mm_load_ps(SFIm + 424), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 416), _mm256_load_ps(SFRe + 424));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 416), _mm256_load_ps(SFIm + 424));
	_mm256_store_ps(SFRe + 424, _mm256_sub_ps(_mm256_load_ps(SFRe + 416), _mm256_load_ps(SFRe + 424)));
	_mm256_store_ps(SFIm + 424, _mm256_sub_ps(_mm256_load_ps(SFIm + 416), _mm256_load_ps(SFIm + 424)));
	_mm256_store_ps(SFRe + 416, m256R);
	_mm256_store_ps(SFIm + 416, m256I);
	R = SFRe[414] + SFRe[415];
	I = SFIm[414] + SFIm[415];
	SFRe[415] = SFRe[414] - SFRe[415];
	SFIm[415] = SFIm[414] - SFIm[415];
	SFRe[414] = R;
	SFIm[414] = I;
	R = SFRe[412] + SFRe[413];
	I = SFIm[412] + SFIm[413];
	SFRe[413] = SFRe[412] - SFRe[413];
	SFIm[413] = SFIm[412] - SFIm[413];
	SFRe[412] = R;
	SFIm[412] = I;
	Re0 = SFRe[408]; Im0 = SFIm[408];
	Re1 = SFRe[409]; Im1 = SFIm[409];
	Re2 = SFRe[410]; Im2 = SFIm[410];
	Re3 = SFRe[411]; Im3 = SFIm[411];
	SFRe[408] = Re0 + Re1; SFIm[408] = Im0 + Im1;
	SFRe[409] = Re0 - Re1; SFIm[409] = Im0 - Im1;
	SFRe[410] = Re2 + Re3; SFIm[410] = Im2 + Im3;
	SFRe[411] = Im2 - Im3; SFIm[411] = Re3 - Re2;
	RA = SFRe[408] + SFRe[410];
	IA = SFIm[408] + SFIm[410];
	SFRe[410] = SFRe[408] - SFRe[410];
	SFIm[410] = SFIm[408] - SFIm[410];
	SFRe[408] = RA;
	SFIm[408] = IA;
	RA = SFRe[409] + SFRe[411];
	IA = SFIm[409] + SFIm[411];
	SFRe[411] = SFRe[409] - SFRe[411];
	SFIm[411] = SFIm[409] - SFIm[411];
	SFRe[409] = RA;
	SFIm[409] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[412];
	I = SFIm[412];
	SFRe[412] = R * RF1 - I * IF1;
	SFIm[412] = R * IF1 + I * RF1;
	R = SFRe[414];
	I = SFIm[414];
	SFRe[414] = R * RF2 - I * IF2;
	SFIm[414] = R * IF2 + I * RF2;
	R = SFRe[414];
	I = SFIm[414];
	SFRe[414] = SFIm[412] - I;
	SFIm[414] = R - SFRe[412];
	SFRe[412] += R;
	SFIm[412] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[413];
	I = SFIm[413];
	SFRe[413] = R * RF1 - I * IF1;
	SFIm[413] = R * IF1 + I * RF1;
	R = SFRe[415];
	I = SFIm[415];
	SFRe[415] = R * RF2 - I * IF2;
	SFIm[415] = R * IF2 + I * RF2;
	R = SFRe[415];
	I = SFIm[415];
	SFRe[415] = SFIm[413] - I;
	SFIm[415] = R - SFRe[413];
	SFRe[413] += R;
	SFIm[413] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 412));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 412));
	_mm_store_ps(SFRe + 412, _mm_sub_ps(_mm_load_ps(SFRe + 408), _mm_load_ps(SFRe + 412)));
	_mm_store_ps(SFIm + 412, _mm_sub_ps(_mm_load_ps(SFIm + 408), _mm_load_ps(SFIm + 412)));
	_mm_store_ps(SFRe + 408, mR);
	_mm_store_ps(SFIm + 408, mI);
	R = SFRe[406] + SFRe[407];
	I = SFIm[406] + SFIm[407];
	SFRe[407] = SFRe[406] - SFRe[407];
	SFIm[407] = SFIm[406] - SFIm[407];
	SFRe[406] = R;
	SFIm[406] = I;
	R = SFRe[404] + SFRe[405];
	I = SFIm[404] + SFIm[405];
	SFRe[405] = SFRe[404] - SFRe[405];
	SFIm[405] = SFIm[404] - SFIm[405];
	SFRe[404] = R;
	SFIm[404] = I;
	Re0 = SFRe[400]; Im0 = SFIm[400];
	Re1 = SFRe[401]; Im1 = SFIm[401];
	Re2 = SFRe[402]; Im2 = SFIm[402];
	Re3 = SFRe[403]; Im3 = SFIm[403];
	SFRe[400] = Re0 + Re1; SFIm[400] = Im0 + Im1;
	SFRe[401] = Re0 - Re1; SFIm[401] = Im0 - Im1;
	SFRe[402] = Re2 + Re3; SFIm[402] = Im2 + Im3;
	SFRe[403] = Im2 - Im3; SFIm[403] = Re3 - Re2;
	RA = SFRe[400] + SFRe[402];
	IA = SFIm[400] + SFIm[402];
	SFRe[402] = SFRe[400] - SFRe[402];
	SFIm[402] = SFIm[400] - SFIm[402];
	SFRe[400] = RA;
	SFIm[400] = IA;
	RA = SFRe[401] + SFRe[403];
	IA = SFIm[401] + SFIm[403];
	SFRe[403] = SFRe[401] - SFRe[403];
	SFIm[403] = SFIm[401] - SFIm[403];
	SFRe[401] = RA;
	SFIm[401] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[404];
	I = SFIm[404];
	SFRe[404] = R * RF1 - I * IF1;
	SFIm[404] = R * IF1 + I * RF1;
	R = SFRe[406];
	I = SFIm[406];
	SFRe[406] = R * RF2 - I * IF2;
	SFIm[406] = R * IF2 + I * RF2;
	R = SFRe[406];
	I = SFIm[406];
	SFRe[406] = SFIm[404] - I;
	SFIm[406] = R - SFRe[404];
	SFRe[404] += R;
	SFIm[404] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[405];
	I = SFIm[405];
	SFRe[405] = R * RF1 - I * IF1;
	SFIm[405] = R * IF1 + I * RF1;
	R = SFRe[407];
	I = SFIm[407];
	SFRe[407] = R * RF2 - I * IF2;
	SFIm[407] = R * IF2 + I * RF2;
	R = SFRe[407];
	I = SFIm[407];
	SFRe[407] = SFIm[405] - I;
	SFIm[407] = R - SFRe[405];
	SFRe[405] += R;
	SFIm[405] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 404));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 404));
	_mm_store_ps(SFRe + 404, _mm_sub_ps(_mm_load_ps(SFRe + 400), _mm_load_ps(SFRe + 404)));
	_mm_store_ps(SFIm + 404, _mm_sub_ps(_mm_load_ps(SFIm + 400), _mm_load_ps(SFIm + 404)));
	_mm_store_ps(SFRe + 400, mR);
	_mm_store_ps(SFIm + 400, mI);
	Re0 = SFRe[396]; Im0 = SFIm[396];
	Re1 = SFRe[397]; Im1 = SFIm[397];
	Re2 = SFRe[398]; Im2 = SFIm[398];
	Re3 = SFRe[399]; Im3 = SFIm[399];
	SFRe[396] = Re0 + Re1; SFIm[396] = Im0 + Im1;
	SFRe[397] = Re0 - Re1; SFIm[397] = Im0 - Im1;
	SFRe[398] = Re2 + Re3; SFIm[398] = Im2 + Im3;
	SFRe[399] = Im2 - Im3; SFIm[399] = Re3 - Re2;
	RA = SFRe[396] + SFRe[398];
	IA = SFIm[396] + SFIm[398];
	SFRe[398] = SFRe[396] - SFRe[398];
	SFIm[398] = SFIm[396] - SFIm[398];
	SFRe[396] = RA;
	SFIm[396] = IA;
	RA = SFRe[397] + SFRe[399];
	IA = SFIm[397] + SFIm[399];
	SFRe[399] = SFRe[397] - SFRe[399];
	SFIm[399] = SFIm[397] - SFIm[399];
	SFRe[397] = RA;
	SFIm[397] = IA;
	Re0 = SFRe[392]; Im0 = SFIm[392];
	Re1 = SFRe[393]; Im1 = SFIm[393];
	Re2 = SFRe[394]; Im2 = SFIm[394];
	Re3 = SFRe[395]; Im3 = SFIm[395];
	SFRe[392] = Re0 + Re1; SFIm[392] = Im0 + Im1;
	SFRe[393] = Re0 - Re1; SFIm[393] = Im0 - Im1;
	SFRe[394] = Re2 + Re3; SFIm[394] = Im2 + Im3;
	SFRe[395] = Im2 - Im3; SFIm[395] = Re3 - Re2;
	RA = SFRe[392] + SFRe[394];
	IA = SFIm[392] + SFIm[394];
	SFRe[394] = SFRe[392] - SFRe[394];
	SFIm[394] = SFIm[392] - SFIm[394];
	SFRe[392] = RA;
	SFIm[392] = IA;
	RA = SFRe[393] + SFRe[395];
	IA = SFIm[393] + SFIm[395];
	SFRe[395] = SFRe[393] - SFRe[395];
	SFIm[395] = SFIm[393] - SFIm[395];
	SFRe[393] = RA;
	SFIm[393] = IA;
	R = SFRe[390] + SFRe[391];
	I = SFIm[390] + SFIm[391];
	SFRe[391] = SFRe[390] - SFRe[391];
	SFIm[391] = SFIm[390] - SFIm[391];
	SFRe[390] = R;
	SFIm[390] = I;
	R = SFRe[388] + SFRe[389];
	I = SFIm[388] + SFIm[389];
	SFRe[389] = SFRe[388] - SFRe[389];
	SFIm[389] = SFIm[388] - SFIm[389];
	SFRe[388] = R;
	SFIm[388] = I;
	Re0 = SFRe[384]; Im0 = SFIm[384];
	Re1 = SFRe[385]; Im1 = SFIm[385];
	Re2 = SFRe[386]; Im2 = SFIm[386];
	Re3 = SFRe[387]; Im3 = SFIm[387];
	SFRe[384] = Re0 + Re1; SFIm[384] = Im0 + Im1;
	SFRe[385] = Re0 - Re1; SFIm[385] = Im0 - Im1;
	SFRe[386] = Re2 + Re3; SFIm[386] = Im2 + Im3;
	SFRe[387] = Im2 - Im3; SFIm[387] = Re3 - Re2;
	RA = SFRe[384] + SFRe[386];
	IA = SFIm[384] + SFIm[386];
	SFRe[386] = SFRe[384] - SFRe[386];
	SFIm[386] = SFIm[384] - SFIm[386];
	SFRe[384] = RA;
	SFIm[384] = IA;
	RA = SFRe[385] + SFRe[387];
	IA = SFIm[385] + SFIm[387];
	SFRe[387] = SFRe[385] - SFRe[387];
	SFIm[387] = SFIm[385] - SFIm[387];
	SFRe[385] = RA;
	SFIm[385] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[388];
	I = SFIm[388];
	SFRe[388] = R * RF1 - I * IF1;
	SFIm[388] = R * IF1 + I * RF1;
	R = SFRe[390];
	I = SFIm[390];
	SFRe[390] = R * RF2 - I * IF2;
	SFIm[390] = R * IF2 + I * RF2;
	R = SFRe[390];
	I = SFIm[390];
	SFRe[390] = SFIm[388] - I;
	SFIm[390] = R - SFRe[388];
	SFRe[388] += R;
	SFIm[388] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[389];
	I = SFIm[389];
	SFRe[389] = R * RF1 - I * IF1;
	SFIm[389] = R * IF1 + I * RF1;
	R = SFRe[391];
	I = SFIm[391];
	SFRe[391] = R * RF2 - I * IF2;
	SFIm[391] = R * IF2 + I * RF2;
	R = SFRe[391];
	I = SFIm[391];
	SFRe[391] = SFIm[389] - I;
	SFIm[391] = R - SFRe[389];
	SFRe[389] += R;
	SFIm[389] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 388));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 388));
	_mm_store_ps(SFRe + 388, _mm_sub_ps(_mm_load_ps(SFRe + 384), _mm_load_ps(SFRe + 388)));
	_mm_store_ps(SFIm + 388, _mm_sub_ps(_mm_load_ps(SFIm + 384), _mm_load_ps(SFIm + 388)));
	_mm_store_ps(SFRe + 384, mR);
	_mm_store_ps(SFIm + 384, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 392);
	mI = _mm_load_ps(SFIm + 392);
	_mm_store_ps(SFRe + 392, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 392, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 396);
	mI = _mm_load_ps(SFIm + 396);
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 396, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 396);
	mI = _mm_load_ps(SFIm + 396);
	_mm_store_ps(SFRe + 396, _mm_sub_ps(_mm_load_ps(SFIm + 392), mI));
	_mm_store_ps(SFIm + 396, _mm_sub_ps(mR, _mm_load_ps(SFRe + 392)));
	_mm_store_ps(SFRe + 392, _mm_add_ps(_mm_load_ps(SFRe + 392), mR));
	_mm_store_ps(SFIm + 392, _mm_add_ps(_mm_load_ps(SFIm + 392), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 392));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 392));
	_mm256_store_ps(SFRe + 392, _mm256_sub_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 392)));
	_mm256_store_ps(SFIm + 392, _mm256_sub_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 392)));
	_mm256_store_ps(SFRe + 384, m256R);
	_mm256_store_ps(SFIm + 384, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 400);
	m256I = _mm256_load_ps(SFIm + 400);
	_mm256_store_ps(SFRe + 400, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 400, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 408);
	m256I = _mm256_load_ps(SFIm + 408);
	_mm256_store_ps(SFRe + 408, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 408, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 408);
	m256I = _mm256_load_ps(SFIm + 408);
	_mm256_store_ps(SFRe + 408, _mm256_sub_ps(_mm256_load_ps(SFIm + 400), m256I));
	_mm256_store_ps(SFIm + 408, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 400)));
	_mm256_store_ps(SFRe + 400, _mm256_add_ps(_mm256_load_ps(SFRe + 400), m256R));
	_mm256_store_ps(SFIm + 400, _mm256_add_ps(_mm256_load_ps(SFIm + 400), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 400));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 400));
	_mm256_store_ps(SFRe + 400, _mm256_sub_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 400)));
	_mm256_store_ps(SFIm + 400, _mm256_sub_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 400)));
	_mm256_store_ps(SFRe + 384, m256R);
	_mm256_store_ps(SFIm + 384, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 392), _mm256_load_ps(SFRe + 408));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 392), _mm256_load_ps(SFIm + 408));
	_mm256_store_ps(SFRe + 408, _mm256_sub_ps(_mm256_load_ps(SFRe + 392), _mm256_load_ps(SFRe + 408)));
	_mm256_store_ps(SFIm + 408, _mm256_sub_ps(_mm256_load_ps(SFIm + 392), _mm256_load_ps(SFIm + 408)));
	_mm256_store_ps(SFRe + 392, m256R);
	_mm256_store_ps(SFIm + 392, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 416);
	m256I = _mm256_load_ps(SFIm + 416);
	_mm256_store_ps(SFRe + 416, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 416, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 432);
	m256I = _mm256_load_ps(SFIm + 432);
	_mm256_store_ps(SFRe + 432, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 432, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 432);
	m256I = _mm256_load_ps(SFIm + 432);
	_mm256_store_ps(SFRe + 432, _mm256_sub_ps(_mm256_load_ps(SFIm + 416), m256I));
	_mm256_store_ps(SFIm + 432, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 416)));
	_mm256_store_ps(SFRe + 416, _mm256_add_ps(_mm256_load_ps(SFRe + 416), m256R));
	_mm256_store_ps(SFIm + 416, _mm256_add_ps(_mm256_load_ps(SFIm + 416), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 424);
	m256I = _mm256_load_ps(SFIm + 424);
	_mm256_store_ps(SFRe + 424, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 424, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 440);
	m256I = _mm256_load_ps(SFIm + 440);
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 440, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 440);
	m256I = _mm256_load_ps(SFIm + 440);
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_load_ps(SFIm + 424), m256I));
	_mm256_store_ps(SFIm + 440, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 424)));
	_mm256_store_ps(SFRe + 424, _mm256_add_ps(_mm256_load_ps(SFRe + 424), m256R));
	_mm256_store_ps(SFIm + 424, _mm256_add_ps(_mm256_load_ps(SFIm + 424), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 416));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 416));
	_mm256_store_ps(SFRe + 416, _mm256_sub_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 416)));
	_mm256_store_ps(SFIm + 416, _mm256_sub_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 416)));
	_mm256_store_ps(SFRe + 384, m256R);
	_mm256_store_ps(SFIm + 384, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 392), _mm256_load_ps(SFRe + 424));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 392), _mm256_load_ps(SFIm + 424));
	_mm256_store_ps(SFRe + 424, _mm256_sub_ps(_mm256_load_ps(SFRe + 392), _mm256_load_ps(SFRe + 424)));
	_mm256_store_ps(SFIm + 424, _mm256_sub_ps(_mm256_load_ps(SFIm + 392), _mm256_load_ps(SFIm + 424)));
	_mm256_store_ps(SFRe + 392, m256R);
	_mm256_store_ps(SFIm + 392, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 400), _mm256_load_ps(SFRe + 432));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 400), _mm256_load_ps(SFIm + 432));
	_mm256_store_ps(SFRe + 432, _mm256_sub_ps(_mm256_load_ps(SFRe + 400), _mm256_load_ps(SFRe + 432)));
	_mm256_store_ps(SFIm + 432, _mm256_sub_ps(_mm256_load_ps(SFIm + 400), _mm256_load_ps(SFIm + 432)));
	_mm256_store_ps(SFRe + 400, m256R);
	_mm256_store_ps(SFIm + 400, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 408), _mm256_load_ps(SFRe + 440));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 408), _mm256_load_ps(SFIm + 440));
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_load_ps(SFRe + 408), _mm256_load_ps(SFRe + 440)));
	_mm256_store_ps(SFIm + 440, _mm256_sub_ps(_mm256_load_ps(SFIm + 408), _mm256_load_ps(SFIm + 440)));
	_mm256_store_ps(SFRe + 408, m256R);
	_mm256_store_ps(SFIm + 408, m256I);
	m256RF1 = _mm256_set_ps(0.941546, 0.956946, 0.970039, 0.980794, 0.989178, 0.995187, 0.998797, 1.000000);
	m256IF1 = _mm256_set_ps(-0.336883, -0.290265, -0.242948, -0.195044, -0.146720, -0.097994, -0.049031, -0.000000);
	m256RF2 = _mm256_set_ps(0.514121, 0.634402, 0.740952, 0.831492, 0.904002, 0.956946, 0.989178, 1.000000);
	m256IF2 = _mm256_set_ps(-0.857718, -0.773004, -0.671558, -0.555536, -0.427528, -0.290265, -0.146720, -0.000000);
	m256R = _mm256_load_ps(SFRe + 448);
	m256I = _mm256_load_ps(SFIm + 448);
	_mm256_store_ps(SFRe + 448, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 448, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 480);
	m256I = _mm256_load_ps(SFIm + 480);
	_mm256_store_ps(SFRe + 480, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 480, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 480);
	m256I = _mm256_load_ps(SFIm + 480);
	_mm256_store_ps(SFRe + 480, _mm256_sub_ps(_mm256_load_ps(SFIm + 448), m256I));
	_mm256_store_ps(SFIm + 480, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 448)));
	_mm256_store_ps(SFRe + 448, _mm256_add_ps(_mm256_load_ps(SFRe + 448), m256R));
	_mm256_store_ps(SFIm + 448, _mm256_add_ps(_mm256_load_ps(SFIm + 448), m256I));
	m256RF1 = _mm256_set_ps(0.740952, 0.773019, 0.803224, 0.831492, 0.857731, 0.881929, 0.904002, 0.923896);
	m256IF1 = _mm256_set_ps(-0.671558, -0.634382, -0.595677, -0.555536, -0.514099, -0.471382, -0.427528, -0.382643);
	m256RF2 = _mm256_set_ps(-0.595697, -0.471404, -0.336907, -0.195069, -0.049056, 0.098019, 0.242972, 0.382712);
	m256IF2 = _mm256_set_ps(-0.803209, -0.881918, -0.941538, -0.980790, -0.998796, -0.995185, -0.970033, -0.923868);
	m256R = _mm256_load_ps(SFRe + 456);
	m256I = _mm256_load_ps(SFIm + 456);
	_mm256_store_ps(SFRe + 456, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 456, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 488);
	m256I = _mm256_load_ps(SFIm + 488);
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 488, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 488);
	m256I = _mm256_load_ps(SFIm + 488);
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_load_ps(SFIm + 456), m256I));
	_mm256_store_ps(SFIm + 488, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 456)));
	_mm256_store_ps(SFRe + 456, _mm256_add_ps(_mm256_load_ps(SFRe + 456), m256R));
	_mm256_store_ps(SFIm + 456, _mm256_add_ps(_mm256_load_ps(SFIm + 456), m256I));
	m256RF1 = _mm256_set_ps(0.427550, 0.471404, 0.514121, 0.555599, 0.595697, 0.634402, 0.671577, 0.707133);
	m256IF1 = _mm256_set_ps(-0.903992, -0.881918, -0.857718, -0.831451, -0.803209, -0.773004, -0.740935, -0.707080);
	m256RF2 = _mm256_set_ps(-0.970039, -0.995187, -0.998797, -0.980785, -0.941546, -0.881929, -0.803224, -0.707098);
	m256IF2 = _mm256_set_ps(0.242948, 0.097994, -0.049031, -0.195093, -0.336883, -0.471382, -0.595677, -0.707116);
	m256R = _mm256_load_ps(SFRe + 464);
	m256I = _mm256_load_ps(SFIm + 464);
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 464, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 496);
	m256I = _mm256_load_ps(SFIm + 496);
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 496, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 496);
	m256I = _mm256_load_ps(SFIm + 496);
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_load_ps(SFIm + 464), m256I));
	_mm256_store_ps(SFIm + 496, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 464)));
	_mm256_store_ps(SFRe + 464, _mm256_add_ps(_mm256_load_ps(SFRe + 464), m256R));
	_mm256_store_ps(SFIm + 464, _mm256_add_ps(_mm256_load_ps(SFIm + 464), m256I));
	m256RF1 = _mm256_set_ps(0.049056, 0.098019, 0.146745, 0.195118, 0.242972, 0.290289, 0.336907, 0.382712);
	m256IF1 = _mm256_set_ps(-0.998796, -0.995185, -0.989174, -0.980780, -0.970033, -0.956939, -0.941538, -0.923868);
	m256RF2 = _mm256_set_ps(-0.146745, -0.290289, -0.427550, -0.555599, -0.671577, -0.773019, -0.857731, -0.923896);
	m256IF2 = _mm256_set_ps(0.989174, 0.956939, 0.903992, 0.831451, 0.740935, 0.634382, 0.514099, 0.382643);
	m256R = _mm256_load_ps(SFRe + 472);
	m256I = _mm256_load_ps(SFIm + 472);
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 472, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 504);
	m256I = _mm256_load_ps(SFIm + 504);
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 504, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 504);
	m256I = _mm256_load_ps(SFIm + 504);
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_load_ps(SFIm + 472), m256I));
	_mm256_store_ps(SFIm + 504, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 472)));
	_mm256_store_ps(SFRe + 472, _mm256_add_ps(_mm256_load_ps(SFRe + 472), m256R));
	_mm256_store_ps(SFIm + 472, _mm256_add_ps(_mm256_load_ps(SFIm + 472), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 448));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 448));
	_mm256_store_ps(SFRe + 448, _mm256_sub_ps(_mm256_load_ps(SFRe + 384), _mm256_load_ps(SFRe + 448)));
	_mm256_store_ps(SFIm + 448, _mm256_sub_ps(_mm256_load_ps(SFIm + 384), _mm256_load_ps(SFIm + 448)));
	_mm256_store_ps(SFRe + 384, m256R);
	_mm256_store_ps(SFIm + 384, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 392), _mm256_load_ps(SFRe + 456));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 392), _mm256_load_ps(SFIm + 456));
	_mm256_store_ps(SFRe + 456, _mm256_sub_ps(_mm256_load_ps(SFRe + 392), _mm256_load_ps(SFRe + 456)));
	_mm256_store_ps(SFIm + 456, _mm256_sub_ps(_mm256_load_ps(SFIm + 392), _mm256_load_ps(SFIm + 456)));
	_mm256_store_ps(SFRe + 392, m256R);
	_mm256_store_ps(SFIm + 392, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 400), _mm256_load_ps(SFRe + 464));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 400), _mm256_load_ps(SFIm + 464));
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_load_ps(SFRe + 400), _mm256_load_ps(SFRe + 464)));
	_mm256_store_ps(SFIm + 464, _mm256_sub_ps(_mm256_load_ps(SFIm + 400), _mm256_load_ps(SFIm + 464)));
	_mm256_store_ps(SFRe + 400, m256R);
	_mm256_store_ps(SFIm + 400, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 408), _mm256_load_ps(SFRe + 472));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 408), _mm256_load_ps(SFIm + 472));
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_load_ps(SFRe + 408), _mm256_load_ps(SFRe + 472)));
	_mm256_store_ps(SFIm + 472, _mm256_sub_ps(_mm256_load_ps(SFIm + 408), _mm256_load_ps(SFIm + 472)));
	_mm256_store_ps(SFRe + 408, m256R);
	_mm256_store_ps(SFIm + 408, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 416), _mm256_load_ps(SFRe + 480));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 416), _mm256_load_ps(SFIm + 480));
	_mm256_store_ps(SFRe + 480, _mm256_sub_ps(_mm256_load_ps(SFRe + 416), _mm256_load_ps(SFRe + 480)));
	_mm256_store_ps(SFIm + 480, _mm256_sub_ps(_mm256_load_ps(SFIm + 416), _mm256_load_ps(SFIm + 480)));
	_mm256_store_ps(SFRe + 416, m256R);
	_mm256_store_ps(SFIm + 416, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 424), _mm256_load_ps(SFRe + 488));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 424), _mm256_load_ps(SFIm + 488));
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_load_ps(SFRe + 424), _mm256_load_ps(SFRe + 488)));
	_mm256_store_ps(SFIm + 488, _mm256_sub_ps(_mm256_load_ps(SFIm + 424), _mm256_load_ps(SFIm + 488)));
	_mm256_store_ps(SFRe + 424, m256R);
	_mm256_store_ps(SFIm + 424, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 432), _mm256_load_ps(SFRe + 496));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 432), _mm256_load_ps(SFIm + 496));
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_load_ps(SFRe + 432), _mm256_load_ps(SFRe + 496)));
	_mm256_store_ps(SFIm + 496, _mm256_sub_ps(_mm256_load_ps(SFIm + 432), _mm256_load_ps(SFIm + 496)));
	_mm256_store_ps(SFRe + 432, m256R);
	_mm256_store_ps(SFIm + 432, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 440), _mm256_load_ps(SFRe + 504));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 440), _mm256_load_ps(SFIm + 504));
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_load_ps(SFRe + 440), _mm256_load_ps(SFRe + 504)));
	_mm256_store_ps(SFIm + 504, _mm256_sub_ps(_mm256_load_ps(SFIm + 440), _mm256_load_ps(SFIm + 504)));
	_mm256_store_ps(SFRe + 440, m256R);
	_mm256_store_ps(SFIm + 440, m256I);
	R = SFRe[382] + SFRe[383];
	I = SFIm[382] + SFIm[383];
	SFRe[383] = SFRe[382] - SFRe[383];
	SFIm[383] = SFIm[382] - SFIm[383];
	SFRe[382] = R;
	SFIm[382] = I;
	R = SFRe[380] + SFRe[381];
	I = SFIm[380] + SFIm[381];
	SFRe[381] = SFRe[380] - SFRe[381];
	SFIm[381] = SFIm[380] - SFIm[381];
	SFRe[380] = R;
	SFIm[380] = I;
	Re0 = SFRe[376]; Im0 = SFIm[376];
	Re1 = SFRe[377]; Im1 = SFIm[377];
	Re2 = SFRe[378]; Im2 = SFIm[378];
	Re3 = SFRe[379]; Im3 = SFIm[379];
	SFRe[376] = Re0 + Re1; SFIm[376] = Im0 + Im1;
	SFRe[377] = Re0 - Re1; SFIm[377] = Im0 - Im1;
	SFRe[378] = Re2 + Re3; SFIm[378] = Im2 + Im3;
	SFRe[379] = Im2 - Im3; SFIm[379] = Re3 - Re2;
	RA = SFRe[376] + SFRe[378];
	IA = SFIm[376] + SFIm[378];
	SFRe[378] = SFRe[376] - SFRe[378];
	SFIm[378] = SFIm[376] - SFIm[378];
	SFRe[376] = RA;
	SFIm[376] = IA;
	RA = SFRe[377] + SFRe[379];
	IA = SFIm[377] + SFIm[379];
	SFRe[379] = SFRe[377] - SFRe[379];
	SFIm[379] = SFIm[377] - SFIm[379];
	SFRe[377] = RA;
	SFIm[377] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[380];
	I = SFIm[380];
	SFRe[380] = R * RF1 - I * IF1;
	SFIm[380] = R * IF1 + I * RF1;
	R = SFRe[382];
	I = SFIm[382];
	SFRe[382] = R * RF2 - I * IF2;
	SFIm[382] = R * IF2 + I * RF2;
	R = SFRe[382];
	I = SFIm[382];
	SFRe[382] = SFIm[380] - I;
	SFIm[382] = R - SFRe[380];
	SFRe[380] += R;
	SFIm[380] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[381];
	I = SFIm[381];
	SFRe[381] = R * RF1 - I * IF1;
	SFIm[381] = R * IF1 + I * RF1;
	R = SFRe[383];
	I = SFIm[383];
	SFRe[383] = R * RF2 - I * IF2;
	SFIm[383] = R * IF2 + I * RF2;
	R = SFRe[383];
	I = SFIm[383];
	SFRe[383] = SFIm[381] - I;
	SFIm[383] = R - SFRe[381];
	SFRe[381] += R;
	SFIm[381] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 376), _mm_load_ps(SFRe + 380));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 376), _mm_load_ps(SFIm + 380));
	_mm_store_ps(SFRe + 380, _mm_sub_ps(_mm_load_ps(SFRe + 376), _mm_load_ps(SFRe + 380)));
	_mm_store_ps(SFIm + 380, _mm_sub_ps(_mm_load_ps(SFIm + 376), _mm_load_ps(SFIm + 380)));
	_mm_store_ps(SFRe + 376, mR);
	_mm_store_ps(SFIm + 376, mI);
	R = SFRe[374] + SFRe[375];
	I = SFIm[374] + SFIm[375];
	SFRe[375] = SFRe[374] - SFRe[375];
	SFIm[375] = SFIm[374] - SFIm[375];
	SFRe[374] = R;
	SFIm[374] = I;
	R = SFRe[372] + SFRe[373];
	I = SFIm[372] + SFIm[373];
	SFRe[373] = SFRe[372] - SFRe[373];
	SFIm[373] = SFIm[372] - SFIm[373];
	SFRe[372] = R;
	SFIm[372] = I;
	Re0 = SFRe[368]; Im0 = SFIm[368];
	Re1 = SFRe[369]; Im1 = SFIm[369];
	Re2 = SFRe[370]; Im2 = SFIm[370];
	Re3 = SFRe[371]; Im3 = SFIm[371];
	SFRe[368] = Re0 + Re1; SFIm[368] = Im0 + Im1;
	SFRe[369] = Re0 - Re1; SFIm[369] = Im0 - Im1;
	SFRe[370] = Re2 + Re3; SFIm[370] = Im2 + Im3;
	SFRe[371] = Im2 - Im3; SFIm[371] = Re3 - Re2;
	RA = SFRe[368] + SFRe[370];
	IA = SFIm[368] + SFIm[370];
	SFRe[370] = SFRe[368] - SFRe[370];
	SFIm[370] = SFIm[368] - SFIm[370];
	SFRe[368] = RA;
	SFIm[368] = IA;
	RA = SFRe[369] + SFRe[371];
	IA = SFIm[369] + SFIm[371];
	SFRe[371] = SFRe[369] - SFRe[371];
	SFIm[371] = SFIm[369] - SFIm[371];
	SFRe[369] = RA;
	SFIm[369] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[372];
	I = SFIm[372];
	SFRe[372] = R * RF1 - I * IF1;
	SFIm[372] = R * IF1 + I * RF1;
	R = SFRe[374];
	I = SFIm[374];
	SFRe[374] = R * RF2 - I * IF2;
	SFIm[374] = R * IF2 + I * RF2;
	R = SFRe[374];
	I = SFIm[374];
	SFRe[374] = SFIm[372] - I;
	SFIm[374] = R - SFRe[372];
	SFRe[372] += R;
	SFIm[372] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[373];
	I = SFIm[373];
	SFRe[373] = R * RF1 - I * IF1;
	SFIm[373] = R * IF1 + I * RF1;
	R = SFRe[375];
	I = SFIm[375];
	SFRe[375] = R * RF2 - I * IF2;
	SFIm[375] = R * IF2 + I * RF2;
	R = SFRe[375];
	I = SFIm[375];
	SFRe[375] = SFIm[373] - I;
	SFIm[375] = R - SFRe[373];
	SFRe[373] += R;
	SFIm[373] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 368), _mm_load_ps(SFRe + 372));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 368), _mm_load_ps(SFIm + 372));
	_mm_store_ps(SFRe + 372, _mm_sub_ps(_mm_load_ps(SFRe + 368), _mm_load_ps(SFRe + 372)));
	_mm_store_ps(SFIm + 372, _mm_sub_ps(_mm_load_ps(SFIm + 368), _mm_load_ps(SFIm + 372)));
	_mm_store_ps(SFRe + 368, mR);
	_mm_store_ps(SFIm + 368, mI);
	Re0 = SFRe[364]; Im0 = SFIm[364];
	Re1 = SFRe[365]; Im1 = SFIm[365];
	Re2 = SFRe[366]; Im2 = SFIm[366];
	Re3 = SFRe[367]; Im3 = SFIm[367];
	SFRe[364] = Re0 + Re1; SFIm[364] = Im0 + Im1;
	SFRe[365] = Re0 - Re1; SFIm[365] = Im0 - Im1;
	SFRe[366] = Re2 + Re3; SFIm[366] = Im2 + Im3;
	SFRe[367] = Im2 - Im3; SFIm[367] = Re3 - Re2;
	RA = SFRe[364] + SFRe[366];
	IA = SFIm[364] + SFIm[366];
	SFRe[366] = SFRe[364] - SFRe[366];
	SFIm[366] = SFIm[364] - SFIm[366];
	SFRe[364] = RA;
	SFIm[364] = IA;
	RA = SFRe[365] + SFRe[367];
	IA = SFIm[365] + SFIm[367];
	SFRe[367] = SFRe[365] - SFRe[367];
	SFIm[367] = SFIm[365] - SFIm[367];
	SFRe[365] = RA;
	SFIm[365] = IA;
	Re0 = SFRe[360]; Im0 = SFIm[360];
	Re1 = SFRe[361]; Im1 = SFIm[361];
	Re2 = SFRe[362]; Im2 = SFIm[362];
	Re3 = SFRe[363]; Im3 = SFIm[363];
	SFRe[360] = Re0 + Re1; SFIm[360] = Im0 + Im1;
	SFRe[361] = Re0 - Re1; SFIm[361] = Im0 - Im1;
	SFRe[362] = Re2 + Re3; SFIm[362] = Im2 + Im3;
	SFRe[363] = Im2 - Im3; SFIm[363] = Re3 - Re2;
	RA = SFRe[360] + SFRe[362];
	IA = SFIm[360] + SFIm[362];
	SFRe[362] = SFRe[360] - SFRe[362];
	SFIm[362] = SFIm[360] - SFIm[362];
	SFRe[360] = RA;
	SFIm[360] = IA;
	RA = SFRe[361] + SFRe[363];
	IA = SFIm[361] + SFIm[363];
	SFRe[363] = SFRe[361] - SFRe[363];
	SFIm[363] = SFIm[361] - SFIm[363];
	SFRe[361] = RA;
	SFIm[361] = IA;
	R = SFRe[358] + SFRe[359];
	I = SFIm[358] + SFIm[359];
	SFRe[359] = SFRe[358] - SFRe[359];
	SFIm[359] = SFIm[358] - SFIm[359];
	SFRe[358] = R;
	SFIm[358] = I;
	R = SFRe[356] + SFRe[357];
	I = SFIm[356] + SFIm[357];
	SFRe[357] = SFRe[356] - SFRe[357];
	SFIm[357] = SFIm[356] - SFIm[357];
	SFRe[356] = R;
	SFIm[356] = I;
	Re0 = SFRe[352]; Im0 = SFIm[352];
	Re1 = SFRe[353]; Im1 = SFIm[353];
	Re2 = SFRe[354]; Im2 = SFIm[354];
	Re3 = SFRe[355]; Im3 = SFIm[355];
	SFRe[352] = Re0 + Re1; SFIm[352] = Im0 + Im1;
	SFRe[353] = Re0 - Re1; SFIm[353] = Im0 - Im1;
	SFRe[354] = Re2 + Re3; SFIm[354] = Im2 + Im3;
	SFRe[355] = Im2 - Im3; SFIm[355] = Re3 - Re2;
	RA = SFRe[352] + SFRe[354];
	IA = SFIm[352] + SFIm[354];
	SFRe[354] = SFRe[352] - SFRe[354];
	SFIm[354] = SFIm[352] - SFIm[354];
	SFRe[352] = RA;
	SFIm[352] = IA;
	RA = SFRe[353] + SFRe[355];
	IA = SFIm[353] + SFIm[355];
	SFRe[355] = SFRe[353] - SFRe[355];
	SFIm[355] = SFIm[353] - SFIm[355];
	SFRe[353] = RA;
	SFIm[353] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[356];
	I = SFIm[356];
	SFRe[356] = R * RF1 - I * IF1;
	SFIm[356] = R * IF1 + I * RF1;
	R = SFRe[358];
	I = SFIm[358];
	SFRe[358] = R * RF2 - I * IF2;
	SFIm[358] = R * IF2 + I * RF2;
	R = SFRe[358];
	I = SFIm[358];
	SFRe[358] = SFIm[356] - I;
	SFIm[358] = R - SFRe[356];
	SFRe[356] += R;
	SFIm[356] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[357];
	I = SFIm[357];
	SFRe[357] = R * RF1 - I * IF1;
	SFIm[357] = R * IF1 + I * RF1;
	R = SFRe[359];
	I = SFIm[359];
	SFRe[359] = R * RF2 - I * IF2;
	SFIm[359] = R * IF2 + I * RF2;
	R = SFRe[359];
	I = SFIm[359];
	SFRe[359] = SFIm[357] - I;
	SFIm[359] = R - SFRe[357];
	SFRe[357] += R;
	SFIm[357] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 356));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 356));
	_mm_store_ps(SFRe + 356, _mm_sub_ps(_mm_load_ps(SFRe + 352), _mm_load_ps(SFRe + 356)));
	_mm_store_ps(SFIm + 356, _mm_sub_ps(_mm_load_ps(SFIm + 352), _mm_load_ps(SFIm + 356)));
	_mm_store_ps(SFRe + 352, mR);
	_mm_store_ps(SFIm + 352, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 360);
	mI = _mm_load_ps(SFIm + 360);
	_mm_store_ps(SFRe + 360, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 364, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 364);
	mI = _mm_load_ps(SFIm + 364);
	_mm_store_ps(SFRe + 364, _mm_sub_ps(_mm_load_ps(SFIm + 360), mI));
	_mm_store_ps(SFIm + 364, _mm_sub_ps(mR, _mm_load_ps(SFRe + 360)));
	_mm_store_ps(SFRe + 360, _mm_add_ps(_mm_load_ps(SFRe + 360), mR));
	_mm_store_ps(SFIm + 360, _mm_add_ps(_mm_load_ps(SFIm + 360), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 352), _mm256_load_ps(SFRe + 360));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 352), _mm256_load_ps(SFIm + 360));
	_mm256_store_ps(SFRe + 360, _mm256_sub_ps(_mm256_load_ps(SFRe + 352), _mm256_load_ps(SFRe + 360)));
	_mm256_store_ps(SFIm + 360, _mm256_sub_ps(_mm256_load_ps(SFIm + 352), _mm256_load_ps(SFIm + 360)));
	_mm256_store_ps(SFRe + 352, m256R);
	_mm256_store_ps(SFIm + 352, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 368);
	m256I = _mm256_load_ps(SFIm + 368);
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 368, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 376);
	m256I = _mm256_load_ps(SFIm + 376);
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 376, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 376);
	m256I = _mm256_load_ps(SFIm + 376);
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_load_ps(SFIm + 368), m256I));
	_mm256_store_ps(SFIm + 376, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 368)));
	_mm256_store_ps(SFRe + 368, _mm256_add_ps(_mm256_load_ps(SFRe + 368), m256R));
	_mm256_store_ps(SFIm + 368, _mm256_add_ps(_mm256_load_ps(SFIm + 368), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 352), _mm256_load_ps(SFRe + 368));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 352), _mm256_load_ps(SFIm + 368));
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_load_ps(SFRe + 352), _mm256_load_ps(SFRe + 368)));
	_mm256_store_ps(SFIm + 368, _mm256_sub_ps(_mm256_load_ps(SFIm + 352), _mm256_load_ps(SFIm + 368)));
	_mm256_store_ps(SFRe + 352, m256R);
	_mm256_store_ps(SFIm + 352, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 360), _mm256_load_ps(SFRe + 376));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 360), _mm256_load_ps(SFIm + 376));
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_load_ps(SFRe + 360), _mm256_load_ps(SFRe + 376)));
	_mm256_store_ps(SFIm + 376, _mm256_sub_ps(_mm256_load_ps(SFIm + 360), _mm256_load_ps(SFIm + 376)));
	_mm256_store_ps(SFRe + 360, m256R);
	_mm256_store_ps(SFIm + 360, m256I);
	R = SFRe[350] + SFRe[351];
	I = SFIm[350] + SFIm[351];
	SFRe[351] = SFRe[350] - SFRe[351];
	SFIm[351] = SFIm[350] - SFIm[351];
	SFRe[350] = R;
	SFIm[350] = I;
	R = SFRe[348] + SFRe[349];
	I = SFIm[348] + SFIm[349];
	SFRe[349] = SFRe[348] - SFRe[349];
	SFIm[349] = SFIm[348] - SFIm[349];
	SFRe[348] = R;
	SFIm[348] = I;
	Re0 = SFRe[344]; Im0 = SFIm[344];
	Re1 = SFRe[345]; Im1 = SFIm[345];
	Re2 = SFRe[346]; Im2 = SFIm[346];
	Re3 = SFRe[347]; Im3 = SFIm[347];
	SFRe[344] = Re0 + Re1; SFIm[344] = Im0 + Im1;
	SFRe[345] = Re0 - Re1; SFIm[345] = Im0 - Im1;
	SFRe[346] = Re2 + Re3; SFIm[346] = Im2 + Im3;
	SFRe[347] = Im2 - Im3; SFIm[347] = Re3 - Re2;
	RA = SFRe[344] + SFRe[346];
	IA = SFIm[344] + SFIm[346];
	SFRe[346] = SFRe[344] - SFRe[346];
	SFIm[346] = SFIm[344] - SFIm[346];
	SFRe[344] = RA;
	SFIm[344] = IA;
	RA = SFRe[345] + SFRe[347];
	IA = SFIm[345] + SFIm[347];
	SFRe[347] = SFRe[345] - SFRe[347];
	SFIm[347] = SFIm[345] - SFIm[347];
	SFRe[345] = RA;
	SFIm[345] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[348];
	I = SFIm[348];
	SFRe[348] = R * RF1 - I * IF1;
	SFIm[348] = R * IF1 + I * RF1;
	R = SFRe[350];
	I = SFIm[350];
	SFRe[350] = R * RF2 - I * IF2;
	SFIm[350] = R * IF2 + I * RF2;
	R = SFRe[350];
	I = SFIm[350];
	SFRe[350] = SFIm[348] - I;
	SFIm[350] = R - SFRe[348];
	SFRe[348] += R;
	SFIm[348] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[349];
	I = SFIm[349];
	SFRe[349] = R * RF1 - I * IF1;
	SFIm[349] = R * IF1 + I * RF1;
	R = SFRe[351];
	I = SFIm[351];
	SFRe[351] = R * RF2 - I * IF2;
	SFIm[351] = R * IF2 + I * RF2;
	R = SFRe[351];
	I = SFIm[351];
	SFRe[351] = SFIm[349] - I;
	SFIm[351] = R - SFRe[349];
	SFRe[349] += R;
	SFIm[349] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 344), _mm_load_ps(SFRe + 348));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 344), _mm_load_ps(SFIm + 348));
	_mm_store_ps(SFRe + 348, _mm_sub_ps(_mm_load_ps(SFRe + 344), _mm_load_ps(SFRe + 348)));
	_mm_store_ps(SFIm + 348, _mm_sub_ps(_mm_load_ps(SFIm + 344), _mm_load_ps(SFIm + 348)));
	_mm_store_ps(SFRe + 344, mR);
	_mm_store_ps(SFIm + 344, mI);
	R = SFRe[342] + SFRe[343];
	I = SFIm[342] + SFIm[343];
	SFRe[343] = SFRe[342] - SFRe[343];
	SFIm[343] = SFIm[342] - SFIm[343];
	SFRe[342] = R;
	SFIm[342] = I;
	R = SFRe[340] + SFRe[341];
	I = SFIm[340] + SFIm[341];
	SFRe[341] = SFRe[340] - SFRe[341];
	SFIm[341] = SFIm[340] - SFIm[341];
	SFRe[340] = R;
	SFIm[340] = I;
	Re0 = SFRe[336]; Im0 = SFIm[336];
	Re1 = SFRe[337]; Im1 = SFIm[337];
	Re2 = SFRe[338]; Im2 = SFIm[338];
	Re3 = SFRe[339]; Im3 = SFIm[339];
	SFRe[336] = Re0 + Re1; SFIm[336] = Im0 + Im1;
	SFRe[337] = Re0 - Re1; SFIm[337] = Im0 - Im1;
	SFRe[338] = Re2 + Re3; SFIm[338] = Im2 + Im3;
	SFRe[339] = Im2 - Im3; SFIm[339] = Re3 - Re2;
	RA = SFRe[336] + SFRe[338];
	IA = SFIm[336] + SFIm[338];
	SFRe[338] = SFRe[336] - SFRe[338];
	SFIm[338] = SFIm[336] - SFIm[338];
	SFRe[336] = RA;
	SFIm[336] = IA;
	RA = SFRe[337] + SFRe[339];
	IA = SFIm[337] + SFIm[339];
	SFRe[339] = SFRe[337] - SFRe[339];
	SFIm[339] = SFIm[337] - SFIm[339];
	SFRe[337] = RA;
	SFIm[337] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[340];
	I = SFIm[340];
	SFRe[340] = R * RF1 - I * IF1;
	SFIm[340] = R * IF1 + I * RF1;
	R = SFRe[342];
	I = SFIm[342];
	SFRe[342] = R * RF2 - I * IF2;
	SFIm[342] = R * IF2 + I * RF2;
	R = SFRe[342];
	I = SFIm[342];
	SFRe[342] = SFIm[340] - I;
	SFIm[342] = R - SFRe[340];
	SFRe[340] += R;
	SFIm[340] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[341];
	I = SFIm[341];
	SFRe[341] = R * RF1 - I * IF1;
	SFIm[341] = R * IF1 + I * RF1;
	R = SFRe[343];
	I = SFIm[343];
	SFRe[343] = R * RF2 - I * IF2;
	SFIm[343] = R * IF2 + I * RF2;
	R = SFRe[343];
	I = SFIm[343];
	SFRe[343] = SFIm[341] - I;
	SFIm[343] = R - SFRe[341];
	SFRe[341] += R;
	SFIm[341] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 336), _mm_load_ps(SFRe + 340));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 336), _mm_load_ps(SFIm + 340));
	_mm_store_ps(SFRe + 340, _mm_sub_ps(_mm_load_ps(SFRe + 336), _mm_load_ps(SFRe + 340)));
	_mm_store_ps(SFIm + 340, _mm_sub_ps(_mm_load_ps(SFIm + 336), _mm_load_ps(SFIm + 340)));
	_mm_store_ps(SFRe + 336, mR);
	_mm_store_ps(SFIm + 336, mI);
	Re0 = SFRe[332]; Im0 = SFIm[332];
	Re1 = SFRe[333]; Im1 = SFIm[333];
	Re2 = SFRe[334]; Im2 = SFIm[334];
	Re3 = SFRe[335]; Im3 = SFIm[335];
	SFRe[332] = Re0 + Re1; SFIm[332] = Im0 + Im1;
	SFRe[333] = Re0 - Re1; SFIm[333] = Im0 - Im1;
	SFRe[334] = Re2 + Re3; SFIm[334] = Im2 + Im3;
	SFRe[335] = Im2 - Im3; SFIm[335] = Re3 - Re2;
	RA = SFRe[332] + SFRe[334];
	IA = SFIm[332] + SFIm[334];
	SFRe[334] = SFRe[332] - SFRe[334];
	SFIm[334] = SFIm[332] - SFIm[334];
	SFRe[332] = RA;
	SFIm[332] = IA;
	RA = SFRe[333] + SFRe[335];
	IA = SFIm[333] + SFIm[335];
	SFRe[335] = SFRe[333] - SFRe[335];
	SFIm[335] = SFIm[333] - SFIm[335];
	SFRe[333] = RA;
	SFIm[333] = IA;
	Re0 = SFRe[328]; Im0 = SFIm[328];
	Re1 = SFRe[329]; Im1 = SFIm[329];
	Re2 = SFRe[330]; Im2 = SFIm[330];
	Re3 = SFRe[331]; Im3 = SFIm[331];
	SFRe[328] = Re0 + Re1; SFIm[328] = Im0 + Im1;
	SFRe[329] = Re0 - Re1; SFIm[329] = Im0 - Im1;
	SFRe[330] = Re2 + Re3; SFIm[330] = Im2 + Im3;
	SFRe[331] = Im2 - Im3; SFIm[331] = Re3 - Re2;
	RA = SFRe[328] + SFRe[330];
	IA = SFIm[328] + SFIm[330];
	SFRe[330] = SFRe[328] - SFRe[330];
	SFIm[330] = SFIm[328] - SFIm[330];
	SFRe[328] = RA;
	SFIm[328] = IA;
	RA = SFRe[329] + SFRe[331];
	IA = SFIm[329] + SFIm[331];
	SFRe[331] = SFRe[329] - SFRe[331];
	SFIm[331] = SFIm[329] - SFIm[331];
	SFRe[329] = RA;
	SFIm[329] = IA;
	R = SFRe[326] + SFRe[327];
	I = SFIm[326] + SFIm[327];
	SFRe[327] = SFRe[326] - SFRe[327];
	SFIm[327] = SFIm[326] - SFIm[327];
	SFRe[326] = R;
	SFIm[326] = I;
	R = SFRe[324] + SFRe[325];
	I = SFIm[324] + SFIm[325];
	SFRe[325] = SFRe[324] - SFRe[325];
	SFIm[325] = SFIm[324] - SFIm[325];
	SFRe[324] = R;
	SFIm[324] = I;
	Re0 = SFRe[320]; Im0 = SFIm[320];
	Re1 = SFRe[321]; Im1 = SFIm[321];
	Re2 = SFRe[322]; Im2 = SFIm[322];
	Re3 = SFRe[323]; Im3 = SFIm[323];
	SFRe[320] = Re0 + Re1; SFIm[320] = Im0 + Im1;
	SFRe[321] = Re0 - Re1; SFIm[321] = Im0 - Im1;
	SFRe[322] = Re2 + Re3; SFIm[322] = Im2 + Im3;
	SFRe[323] = Im2 - Im3; SFIm[323] = Re3 - Re2;
	RA = SFRe[320] + SFRe[322];
	IA = SFIm[320] + SFIm[322];
	SFRe[322] = SFRe[320] - SFRe[322];
	SFIm[322] = SFIm[320] - SFIm[322];
	SFRe[320] = RA;
	SFIm[320] = IA;
	RA = SFRe[321] + SFRe[323];
	IA = SFIm[321] + SFIm[323];
	SFRe[323] = SFRe[321] - SFRe[323];
	SFIm[323] = SFIm[321] - SFIm[323];
	SFRe[321] = RA;
	SFIm[321] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[324];
	I = SFIm[324];
	SFRe[324] = R * RF1 - I * IF1;
	SFIm[324] = R * IF1 + I * RF1;
	R = SFRe[326];
	I = SFIm[326];
	SFRe[326] = R * RF2 - I * IF2;
	SFIm[326] = R * IF2 + I * RF2;
	R = SFRe[326];
	I = SFIm[326];
	SFRe[326] = SFIm[324] - I;
	SFIm[326] = R - SFRe[324];
	SFRe[324] += R;
	SFIm[324] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[325];
	I = SFIm[325];
	SFRe[325] = R * RF1 - I * IF1;
	SFIm[325] = R * IF1 + I * RF1;
	R = SFRe[327];
	I = SFIm[327];
	SFRe[327] = R * RF2 - I * IF2;
	SFIm[327] = R * IF2 + I * RF2;
	R = SFRe[327];
	I = SFIm[327];
	SFRe[327] = SFIm[325] - I;
	SFIm[327] = R - SFRe[325];
	SFRe[325] += R;
	SFIm[325] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 324));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 324));
	_mm_store_ps(SFRe + 324, _mm_sub_ps(_mm_load_ps(SFRe + 320), _mm_load_ps(SFRe + 324)));
	_mm_store_ps(SFIm + 324, _mm_sub_ps(_mm_load_ps(SFIm + 320), _mm_load_ps(SFIm + 324)));
	_mm_store_ps(SFRe + 320, mR);
	_mm_store_ps(SFIm + 320, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 328);
	mI = _mm_load_ps(SFIm + 328);
	_mm_store_ps(SFRe + 328, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 332);
	mI = _mm_load_ps(SFIm + 332);
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 332, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 332);
	mI = _mm_load_ps(SFIm + 332);
	_mm_store_ps(SFRe + 332, _mm_sub_ps(_mm_load_ps(SFIm + 328), mI));
	_mm_store_ps(SFIm + 332, _mm_sub_ps(mR, _mm_load_ps(SFRe + 328)));
	_mm_store_ps(SFRe + 328, _mm_add_ps(_mm_load_ps(SFRe + 328), mR));
	_mm_store_ps(SFIm + 328, _mm_add_ps(_mm_load_ps(SFIm + 328), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 320), _mm256_load_ps(SFRe + 328));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 320), _mm256_load_ps(SFIm + 328));
	_mm256_store_ps(SFRe + 328, _mm256_sub_ps(_mm256_load_ps(SFRe + 320), _mm256_load_ps(SFRe + 328)));
	_mm256_store_ps(SFIm + 328, _mm256_sub_ps(_mm256_load_ps(SFIm + 320), _mm256_load_ps(SFIm + 328)));
	_mm256_store_ps(SFRe + 320, m256R);
	_mm256_store_ps(SFIm + 320, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 336);
	m256I = _mm256_load_ps(SFIm + 336);
	_mm256_store_ps(SFRe + 336, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 336, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 344);
	m256I = _mm256_load_ps(SFIm + 344);
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 344, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 344);
	m256I = _mm256_load_ps(SFIm + 344);
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_load_ps(SFIm + 336), m256I));
	_mm256_store_ps(SFIm + 344, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 336)));
	_mm256_store_ps(SFRe + 336, _mm256_add_ps(_mm256_load_ps(SFRe + 336), m256R));
	_mm256_store_ps(SFIm + 336, _mm256_add_ps(_mm256_load_ps(SFIm + 336), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 320), _mm256_load_ps(SFRe + 336));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 320), _mm256_load_ps(SFIm + 336));
	_mm256_store_ps(SFRe + 336, _mm256_sub_ps(_mm256_load_ps(SFRe + 320), _mm256_load_ps(SFRe + 336)));
	_mm256_store_ps(SFIm + 336, _mm256_sub_ps(_mm256_load_ps(SFIm + 320), _mm256_load_ps(SFIm + 336)));
	_mm256_store_ps(SFRe + 320, m256R);
	_mm256_store_ps(SFIm + 320, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 328), _mm256_load_ps(SFRe + 344));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 328), _mm256_load_ps(SFIm + 344));
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_load_ps(SFRe + 328), _mm256_load_ps(SFRe + 344)));
	_mm256_store_ps(SFIm + 344, _mm256_sub_ps(_mm256_load_ps(SFIm + 328), _mm256_load_ps(SFIm + 344)));
	_mm256_store_ps(SFRe + 328, m256R);
	_mm256_store_ps(SFIm + 328, m256I);
	Re0 = SFRe[316]; Im0 = SFIm[316];
	Re1 = SFRe[317]; Im1 = SFIm[317];
	Re2 = SFRe[318]; Im2 = SFIm[318];
	Re3 = SFRe[319]; Im3 = SFIm[319];
	SFRe[316] = Re0 + Re1; SFIm[316] = Im0 + Im1;
	SFRe[317] = Re0 - Re1; SFIm[317] = Im0 - Im1;
	SFRe[318] = Re2 + Re3; SFIm[318] = Im2 + Im3;
	SFRe[319] = Im2 - Im3; SFIm[319] = Re3 - Re2;
	RA = SFRe[316] + SFRe[318];
	IA = SFIm[316] + SFIm[318];
	SFRe[318] = SFRe[316] - SFRe[318];
	SFIm[318] = SFIm[316] - SFIm[318];
	SFRe[316] = RA;
	SFIm[316] = IA;
	RA = SFRe[317] + SFRe[319];
	IA = SFIm[317] + SFIm[319];
	SFRe[319] = SFRe[317] - SFRe[319];
	SFIm[319] = SFIm[317] - SFIm[319];
	SFRe[317] = RA;
	SFIm[317] = IA;
	Re0 = SFRe[312]; Im0 = SFIm[312];
	Re1 = SFRe[313]; Im1 = SFIm[313];
	Re2 = SFRe[314]; Im2 = SFIm[314];
	Re3 = SFRe[315]; Im3 = SFIm[315];
	SFRe[312] = Re0 + Re1; SFIm[312] = Im0 + Im1;
	SFRe[313] = Re0 - Re1; SFIm[313] = Im0 - Im1;
	SFRe[314] = Re2 + Re3; SFIm[314] = Im2 + Im3;
	SFRe[315] = Im2 - Im3; SFIm[315] = Re3 - Re2;
	RA = SFRe[312] + SFRe[314];
	IA = SFIm[312] + SFIm[314];
	SFRe[314] = SFRe[312] - SFRe[314];
	SFIm[314] = SFIm[312] - SFIm[314];
	SFRe[312] = RA;
	SFIm[312] = IA;
	RA = SFRe[313] + SFRe[315];
	IA = SFIm[313] + SFIm[315];
	SFRe[315] = SFRe[313] - SFRe[315];
	SFIm[315] = SFIm[313] - SFIm[315];
	SFRe[313] = RA;
	SFIm[313] = IA;
	R = SFRe[310] + SFRe[311];
	I = SFIm[310] + SFIm[311];
	SFRe[311] = SFRe[310] - SFRe[311];
	SFIm[311] = SFIm[310] - SFIm[311];
	SFRe[310] = R;
	SFIm[310] = I;
	R = SFRe[308] + SFRe[309];
	I = SFIm[308] + SFIm[309];
	SFRe[309] = SFRe[308] - SFRe[309];
	SFIm[309] = SFIm[308] - SFIm[309];
	SFRe[308] = R;
	SFIm[308] = I;
	Re0 = SFRe[304]; Im0 = SFIm[304];
	Re1 = SFRe[305]; Im1 = SFIm[305];
	Re2 = SFRe[306]; Im2 = SFIm[306];
	Re3 = SFRe[307]; Im3 = SFIm[307];
	SFRe[304] = Re0 + Re1; SFIm[304] = Im0 + Im1;
	SFRe[305] = Re0 - Re1; SFIm[305] = Im0 - Im1;
	SFRe[306] = Re2 + Re3; SFIm[306] = Im2 + Im3;
	SFRe[307] = Im2 - Im3; SFIm[307] = Re3 - Re2;
	RA = SFRe[304] + SFRe[306];
	IA = SFIm[304] + SFIm[306];
	SFRe[306] = SFRe[304] - SFRe[306];
	SFIm[306] = SFIm[304] - SFIm[306];
	SFRe[304] = RA;
	SFIm[304] = IA;
	RA = SFRe[305] + SFRe[307];
	IA = SFIm[305] + SFIm[307];
	SFRe[307] = SFRe[305] - SFRe[307];
	SFIm[307] = SFIm[305] - SFIm[307];
	SFRe[305] = RA;
	SFIm[305] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[308];
	I = SFIm[308];
	SFRe[308] = R * RF1 - I * IF1;
	SFIm[308] = R * IF1 + I * RF1;
	R = SFRe[310];
	I = SFIm[310];
	SFRe[310] = R * RF2 - I * IF2;
	SFIm[310] = R * IF2 + I * RF2;
	R = SFRe[310];
	I = SFIm[310];
	SFRe[310] = SFIm[308] - I;
	SFIm[310] = R - SFRe[308];
	SFRe[308] += R;
	SFIm[308] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[309];
	I = SFIm[309];
	SFRe[309] = R * RF1 - I * IF1;
	SFIm[309] = R * IF1 + I * RF1;
	R = SFRe[311];
	I = SFIm[311];
	SFRe[311] = R * RF2 - I * IF2;
	SFIm[311] = R * IF2 + I * RF2;
	R = SFRe[311];
	I = SFIm[311];
	SFRe[311] = SFIm[309] - I;
	SFIm[311] = R - SFRe[309];
	SFRe[309] += R;
	SFIm[309] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 308));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 308));
	_mm_store_ps(SFRe + 308, _mm_sub_ps(_mm_load_ps(SFRe + 304), _mm_load_ps(SFRe + 308)));
	_mm_store_ps(SFIm + 308, _mm_sub_ps(_mm_load_ps(SFIm + 304), _mm_load_ps(SFIm + 308)));
	_mm_store_ps(SFRe + 304, mR);
	_mm_store_ps(SFIm + 304, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 312);
	mI = _mm_load_ps(SFIm + 312);
	_mm_store_ps(SFRe + 312, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 316, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 316);
	mI = _mm_load_ps(SFIm + 316);
	_mm_store_ps(SFRe + 316, _mm_sub_ps(_mm_load_ps(SFIm + 312), mI));
	_mm_store_ps(SFIm + 316, _mm_sub_ps(mR, _mm_load_ps(SFRe + 312)));
	_mm_store_ps(SFRe + 312, _mm_add_ps(_mm_load_ps(SFRe + 312), mR));
	_mm_store_ps(SFIm + 312, _mm_add_ps(_mm_load_ps(SFIm + 312), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 304), _mm256_load_ps(SFRe + 312));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 304), _mm256_load_ps(SFIm + 312));
	_mm256_store_ps(SFRe + 312, _mm256_sub_ps(_mm256_load_ps(SFRe + 304), _mm256_load_ps(SFRe + 312)));
	_mm256_store_ps(SFIm + 312, _mm256_sub_ps(_mm256_load_ps(SFIm + 304), _mm256_load_ps(SFIm + 312)));
	_mm256_store_ps(SFRe + 304, m256R);
	_mm256_store_ps(SFIm + 304, m256I);
	Re0 = SFRe[300]; Im0 = SFIm[300];
	Re1 = SFRe[301]; Im1 = SFIm[301];
	Re2 = SFRe[302]; Im2 = SFIm[302];
	Re3 = SFRe[303]; Im3 = SFIm[303];
	SFRe[300] = Re0 + Re1; SFIm[300] = Im0 + Im1;
	SFRe[301] = Re0 - Re1; SFIm[301] = Im0 - Im1;
	SFRe[302] = Re2 + Re3; SFIm[302] = Im2 + Im3;
	SFRe[303] = Im2 - Im3; SFIm[303] = Re3 - Re2;
	RA = SFRe[300] + SFRe[302];
	IA = SFIm[300] + SFIm[302];
	SFRe[302] = SFRe[300] - SFRe[302];
	SFIm[302] = SFIm[300] - SFIm[302];
	SFRe[300] = RA;
	SFIm[300] = IA;
	RA = SFRe[301] + SFRe[303];
	IA = SFIm[301] + SFIm[303];
	SFRe[303] = SFRe[301] - SFRe[303];
	SFIm[303] = SFIm[301] - SFIm[303];
	SFRe[301] = RA;
	SFIm[301] = IA;
	Re0 = SFRe[296]; Im0 = SFIm[296];
	Re1 = SFRe[297]; Im1 = SFIm[297];
	Re2 = SFRe[298]; Im2 = SFIm[298];
	Re3 = SFRe[299]; Im3 = SFIm[299];
	SFRe[296] = Re0 + Re1; SFIm[296] = Im0 + Im1;
	SFRe[297] = Re0 - Re1; SFIm[297] = Im0 - Im1;
	SFRe[298] = Re2 + Re3; SFIm[298] = Im2 + Im3;
	SFRe[299] = Im2 - Im3; SFIm[299] = Re3 - Re2;
	RA = SFRe[296] + SFRe[298];
	IA = SFIm[296] + SFIm[298];
	SFRe[298] = SFRe[296] - SFRe[298];
	SFIm[298] = SFIm[296] - SFIm[298];
	SFRe[296] = RA;
	SFIm[296] = IA;
	RA = SFRe[297] + SFRe[299];
	IA = SFIm[297] + SFIm[299];
	SFRe[299] = SFRe[297] - SFRe[299];
	SFIm[299] = SFIm[297] - SFIm[299];
	SFRe[297] = RA;
	SFIm[297] = IA;
	R = SFRe[294] + SFRe[295];
	I = SFIm[294] + SFIm[295];
	SFRe[295] = SFRe[294] - SFRe[295];
	SFIm[295] = SFIm[294] - SFIm[295];
	SFRe[294] = R;
	SFIm[294] = I;
	R = SFRe[292] + SFRe[293];
	I = SFIm[292] + SFIm[293];
	SFRe[293] = SFRe[292] - SFRe[293];
	SFIm[293] = SFIm[292] - SFIm[293];
	SFRe[292] = R;
	SFIm[292] = I;
	Re0 = SFRe[288]; Im0 = SFIm[288];
	Re1 = SFRe[289]; Im1 = SFIm[289];
	Re2 = SFRe[290]; Im2 = SFIm[290];
	Re3 = SFRe[291]; Im3 = SFIm[291];
	SFRe[288] = Re0 + Re1; SFIm[288] = Im0 + Im1;
	SFRe[289] = Re0 - Re1; SFIm[289] = Im0 - Im1;
	SFRe[290] = Re2 + Re3; SFIm[290] = Im2 + Im3;
	SFRe[291] = Im2 - Im3; SFIm[291] = Re3 - Re2;
	RA = SFRe[288] + SFRe[290];
	IA = SFIm[288] + SFIm[290];
	SFRe[290] = SFRe[288] - SFRe[290];
	SFIm[290] = SFIm[288] - SFIm[290];
	SFRe[288] = RA;
	SFIm[288] = IA;
	RA = SFRe[289] + SFRe[291];
	IA = SFIm[289] + SFIm[291];
	SFRe[291] = SFRe[289] - SFRe[291];
	SFIm[291] = SFIm[289] - SFIm[291];
	SFRe[289] = RA;
	SFIm[289] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[292];
	I = SFIm[292];
	SFRe[292] = R * RF1 - I * IF1;
	SFIm[292] = R * IF1 + I * RF1;
	R = SFRe[294];
	I = SFIm[294];
	SFRe[294] = R * RF2 - I * IF2;
	SFIm[294] = R * IF2 + I * RF2;
	R = SFRe[294];
	I = SFIm[294];
	SFRe[294] = SFIm[292] - I;
	SFIm[294] = R - SFRe[292];
	SFRe[292] += R;
	SFIm[292] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[293];
	I = SFIm[293];
	SFRe[293] = R * RF1 - I * IF1;
	SFIm[293] = R * IF1 + I * RF1;
	R = SFRe[295];
	I = SFIm[295];
	SFRe[295] = R * RF2 - I * IF2;
	SFIm[295] = R * IF2 + I * RF2;
	R = SFRe[295];
	I = SFIm[295];
	SFRe[295] = SFIm[293] - I;
	SFIm[295] = R - SFRe[293];
	SFRe[293] += R;
	SFIm[293] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 292));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 292));
	_mm_store_ps(SFRe + 292, _mm_sub_ps(_mm_load_ps(SFRe + 288), _mm_load_ps(SFRe + 292)));
	_mm_store_ps(SFIm + 292, _mm_sub_ps(_mm_load_ps(SFIm + 288), _mm_load_ps(SFIm + 292)));
	_mm_store_ps(SFRe + 288, mR);
	_mm_store_ps(SFIm + 288, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 296);
	mI = _mm_load_ps(SFIm + 296);
	_mm_store_ps(SFRe + 296, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 300);
	mI = _mm_load_ps(SFIm + 300);
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 300, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 300);
	mI = _mm_load_ps(SFIm + 300);
	_mm_store_ps(SFRe + 300, _mm_sub_ps(_mm_load_ps(SFIm + 296), mI));
	_mm_store_ps(SFIm + 300, _mm_sub_ps(mR, _mm_load_ps(SFRe + 296)));
	_mm_store_ps(SFRe + 296, _mm_add_ps(_mm_load_ps(SFRe + 296), mR));
	_mm_store_ps(SFIm + 296, _mm_add_ps(_mm_load_ps(SFIm + 296), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 288), _mm256_load_ps(SFRe + 296));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 288), _mm256_load_ps(SFIm + 296));
	_mm256_store_ps(SFRe + 296, _mm256_sub_ps(_mm256_load_ps(SFRe + 288), _mm256_load_ps(SFRe + 296)));
	_mm256_store_ps(SFIm + 296, _mm256_sub_ps(_mm256_load_ps(SFIm + 288), _mm256_load_ps(SFIm + 296)));
	_mm256_store_ps(SFRe + 288, m256R);
	_mm256_store_ps(SFIm + 288, m256I);
	R = SFRe[286] + SFRe[287];
	I = SFIm[286] + SFIm[287];
	SFRe[287] = SFRe[286] - SFRe[287];
	SFIm[287] = SFIm[286] - SFIm[287];
	SFRe[286] = R;
	SFIm[286] = I;
	R = SFRe[284] + SFRe[285];
	I = SFIm[284] + SFIm[285];
	SFRe[285] = SFRe[284] - SFRe[285];
	SFIm[285] = SFIm[284] - SFIm[285];
	SFRe[284] = R;
	SFIm[284] = I;
	Re0 = SFRe[280]; Im0 = SFIm[280];
	Re1 = SFRe[281]; Im1 = SFIm[281];
	Re2 = SFRe[282]; Im2 = SFIm[282];
	Re3 = SFRe[283]; Im3 = SFIm[283];
	SFRe[280] = Re0 + Re1; SFIm[280] = Im0 + Im1;
	SFRe[281] = Re0 - Re1; SFIm[281] = Im0 - Im1;
	SFRe[282] = Re2 + Re3; SFIm[282] = Im2 + Im3;
	SFRe[283] = Im2 - Im3; SFIm[283] = Re3 - Re2;
	RA = SFRe[280] + SFRe[282];
	IA = SFIm[280] + SFIm[282];
	SFRe[282] = SFRe[280] - SFRe[282];
	SFIm[282] = SFIm[280] - SFIm[282];
	SFRe[280] = RA;
	SFIm[280] = IA;
	RA = SFRe[281] + SFRe[283];
	IA = SFIm[281] + SFIm[283];
	SFRe[283] = SFRe[281] - SFRe[283];
	SFIm[283] = SFIm[281] - SFIm[283];
	SFRe[281] = RA;
	SFIm[281] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[284];
	I = SFIm[284];
	SFRe[284] = R * RF1 - I * IF1;
	SFIm[284] = R * IF1 + I * RF1;
	R = SFRe[286];
	I = SFIm[286];
	SFRe[286] = R * RF2 - I * IF2;
	SFIm[286] = R * IF2 + I * RF2;
	R = SFRe[286];
	I = SFIm[286];
	SFRe[286] = SFIm[284] - I;
	SFIm[286] = R - SFRe[284];
	SFRe[284] += R;
	SFIm[284] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[285];
	I = SFIm[285];
	SFRe[285] = R * RF1 - I * IF1;
	SFIm[285] = R * IF1 + I * RF1;
	R = SFRe[287];
	I = SFIm[287];
	SFRe[287] = R * RF2 - I * IF2;
	SFIm[287] = R * IF2 + I * RF2;
	R = SFRe[287];
	I = SFIm[287];
	SFRe[287] = SFIm[285] - I;
	SFIm[287] = R - SFRe[285];
	SFRe[285] += R;
	SFIm[285] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 284));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 284));
	_mm_store_ps(SFRe + 284, _mm_sub_ps(_mm_load_ps(SFRe + 280), _mm_load_ps(SFRe + 284)));
	_mm_store_ps(SFIm + 284, _mm_sub_ps(_mm_load_ps(SFIm + 280), _mm_load_ps(SFIm + 284)));
	_mm_store_ps(SFRe + 280, mR);
	_mm_store_ps(SFIm + 280, mI);
	R = SFRe[278] + SFRe[279];
	I = SFIm[278] + SFIm[279];
	SFRe[279] = SFRe[278] - SFRe[279];
	SFIm[279] = SFIm[278] - SFIm[279];
	SFRe[278] = R;
	SFIm[278] = I;
	R = SFRe[276] + SFRe[277];
	I = SFIm[276] + SFIm[277];
	SFRe[277] = SFRe[276] - SFRe[277];
	SFIm[277] = SFIm[276] - SFIm[277];
	SFRe[276] = R;
	SFIm[276] = I;
	Re0 = SFRe[272]; Im0 = SFIm[272];
	Re1 = SFRe[273]; Im1 = SFIm[273];
	Re2 = SFRe[274]; Im2 = SFIm[274];
	Re3 = SFRe[275]; Im3 = SFIm[275];
	SFRe[272] = Re0 + Re1; SFIm[272] = Im0 + Im1;
	SFRe[273] = Re0 - Re1; SFIm[273] = Im0 - Im1;
	SFRe[274] = Re2 + Re3; SFIm[274] = Im2 + Im3;
	SFRe[275] = Im2 - Im3; SFIm[275] = Re3 - Re2;
	RA = SFRe[272] + SFRe[274];
	IA = SFIm[272] + SFIm[274];
	SFRe[274] = SFRe[272] - SFRe[274];
	SFIm[274] = SFIm[272] - SFIm[274];
	SFRe[272] = RA;
	SFIm[272] = IA;
	RA = SFRe[273] + SFRe[275];
	IA = SFIm[273] + SFIm[275];
	SFRe[275] = SFRe[273] - SFRe[275];
	SFIm[275] = SFIm[273] - SFIm[275];
	SFRe[273] = RA;
	SFIm[273] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[276];
	I = SFIm[276];
	SFRe[276] = R * RF1 - I * IF1;
	SFIm[276] = R * IF1 + I * RF1;
	R = SFRe[278];
	I = SFIm[278];
	SFRe[278] = R * RF2 - I * IF2;
	SFIm[278] = R * IF2 + I * RF2;
	R = SFRe[278];
	I = SFIm[278];
	SFRe[278] = SFIm[276] - I;
	SFIm[278] = R - SFRe[276];
	SFRe[276] += R;
	SFIm[276] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[277];
	I = SFIm[277];
	SFRe[277] = R * RF1 - I * IF1;
	SFIm[277] = R * IF1 + I * RF1;
	R = SFRe[279];
	I = SFIm[279];
	SFRe[279] = R * RF2 - I * IF2;
	SFIm[279] = R * IF2 + I * RF2;
	R = SFRe[279];
	I = SFIm[279];
	SFRe[279] = SFIm[277] - I;
	SFIm[279] = R - SFRe[277];
	SFRe[277] += R;
	SFIm[277] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 276));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 276));
	_mm_store_ps(SFRe + 276, _mm_sub_ps(_mm_load_ps(SFRe + 272), _mm_load_ps(SFRe + 276)));
	_mm_store_ps(SFIm + 276, _mm_sub_ps(_mm_load_ps(SFIm + 272), _mm_load_ps(SFIm + 276)));
	_mm_store_ps(SFRe + 272, mR);
	_mm_store_ps(SFIm + 272, mI);
	Re0 = SFRe[268]; Im0 = SFIm[268];
	Re1 = SFRe[269]; Im1 = SFIm[269];
	Re2 = SFRe[270]; Im2 = SFIm[270];
	Re3 = SFRe[271]; Im3 = SFIm[271];
	SFRe[268] = Re0 + Re1; SFIm[268] = Im0 + Im1;
	SFRe[269] = Re0 - Re1; SFIm[269] = Im0 - Im1;
	SFRe[270] = Re2 + Re3; SFIm[270] = Im2 + Im3;
	SFRe[271] = Im2 - Im3; SFIm[271] = Re3 - Re2;
	RA = SFRe[268] + SFRe[270];
	IA = SFIm[268] + SFIm[270];
	SFRe[270] = SFRe[268] - SFRe[270];
	SFIm[270] = SFIm[268] - SFIm[270];
	SFRe[268] = RA;
	SFIm[268] = IA;
	RA = SFRe[269] + SFRe[271];
	IA = SFIm[269] + SFIm[271];
	SFRe[271] = SFRe[269] - SFRe[271];
	SFIm[271] = SFIm[269] - SFIm[271];
	SFRe[269] = RA;
	SFIm[269] = IA;
	Re0 = SFRe[264]; Im0 = SFIm[264];
	Re1 = SFRe[265]; Im1 = SFIm[265];
	Re2 = SFRe[266]; Im2 = SFIm[266];
	Re3 = SFRe[267]; Im3 = SFIm[267];
	SFRe[264] = Re0 + Re1; SFIm[264] = Im0 + Im1;
	SFRe[265] = Re0 - Re1; SFIm[265] = Im0 - Im1;
	SFRe[266] = Re2 + Re3; SFIm[266] = Im2 + Im3;
	SFRe[267] = Im2 - Im3; SFIm[267] = Re3 - Re2;
	RA = SFRe[264] + SFRe[266];
	IA = SFIm[264] + SFIm[266];
	SFRe[266] = SFRe[264] - SFRe[266];
	SFIm[266] = SFIm[264] - SFIm[266];
	SFRe[264] = RA;
	SFIm[264] = IA;
	RA = SFRe[265] + SFRe[267];
	IA = SFIm[265] + SFIm[267];
	SFRe[267] = SFRe[265] - SFRe[267];
	SFIm[267] = SFIm[265] - SFIm[267];
	SFRe[265] = RA;
	SFIm[265] = IA;
	R = SFRe[262] + SFRe[263];
	I = SFIm[262] + SFIm[263];
	SFRe[263] = SFRe[262] - SFRe[263];
	SFIm[263] = SFIm[262] - SFIm[263];
	SFRe[262] = R;
	SFIm[262] = I;
	R = SFRe[260] + SFRe[261];
	I = SFIm[260] + SFIm[261];
	SFRe[261] = SFRe[260] - SFRe[261];
	SFIm[261] = SFIm[260] - SFIm[261];
	SFRe[260] = R;
	SFIm[260] = I;
	Re0 = SFRe[256]; Im0 = SFIm[256];
	Re1 = SFRe[257]; Im1 = SFIm[257];
	Re2 = SFRe[258]; Im2 = SFIm[258];
	Re3 = SFRe[259]; Im3 = SFIm[259];
	SFRe[256] = Re0 + Re1; SFIm[256] = Im0 + Im1;
	SFRe[257] = Re0 - Re1; SFIm[257] = Im0 - Im1;
	SFRe[258] = Re2 + Re3; SFIm[258] = Im2 + Im3;
	SFRe[259] = Im2 - Im3; SFIm[259] = Re3 - Re2;
	RA = SFRe[256] + SFRe[258];
	IA = SFIm[256] + SFIm[258];
	SFRe[258] = SFRe[256] - SFRe[258];
	SFIm[258] = SFIm[256] - SFIm[258];
	SFRe[256] = RA;
	SFIm[256] = IA;
	RA = SFRe[257] + SFRe[259];
	IA = SFIm[257] + SFIm[259];
	SFRe[259] = SFRe[257] - SFRe[259];
	SFIm[259] = SFIm[257] - SFIm[259];
	SFRe[257] = RA;
	SFIm[257] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[260];
	I = SFIm[260];
	SFRe[260] = R * RF1 - I * IF1;
	SFIm[260] = R * IF1 + I * RF1;
	R = SFRe[262];
	I = SFIm[262];
	SFRe[262] = R * RF2 - I * IF2;
	SFIm[262] = R * IF2 + I * RF2;
	R = SFRe[262];
	I = SFIm[262];
	SFRe[262] = SFIm[260] - I;
	SFIm[262] = R - SFRe[260];
	SFRe[260] += R;
	SFIm[260] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[261];
	I = SFIm[261];
	SFRe[261] = R * RF1 - I * IF1;
	SFIm[261] = R * IF1 + I * RF1;
	R = SFRe[263];
	I = SFIm[263];
	SFRe[263] = R * RF2 - I * IF2;
	SFIm[263] = R * IF2 + I * RF2;
	R = SFRe[263];
	I = SFIm[263];
	SFRe[263] = SFIm[261] - I;
	SFIm[263] = R - SFRe[261];
	SFRe[261] += R;
	SFIm[261] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 260));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 260));
	_mm_store_ps(SFRe + 260, _mm_sub_ps(_mm_load_ps(SFRe + 256), _mm_load_ps(SFRe + 260)));
	_mm_store_ps(SFIm + 260, _mm_sub_ps(_mm_load_ps(SFIm + 256), _mm_load_ps(SFIm + 260)));
	_mm_store_ps(SFRe + 256, mR);
	_mm_store_ps(SFIm + 256, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 264);
	mI = _mm_load_ps(SFIm + 264);
	_mm_store_ps(SFRe + 264, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 264, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 268);
	mI = _mm_load_ps(SFIm + 268);
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 268, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 268);
	mI = _mm_load_ps(SFIm + 268);
	_mm_store_ps(SFRe + 268, _mm_sub_ps(_mm_load_ps(SFIm + 264), mI));
	_mm_store_ps(SFIm + 268, _mm_sub_ps(mR, _mm_load_ps(SFRe + 264)));
	_mm_store_ps(SFRe + 264, _mm_add_ps(_mm_load_ps(SFRe + 264), mR));
	_mm_store_ps(SFIm + 264, _mm_add_ps(_mm_load_ps(SFIm + 264), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 264));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 264));
	_mm256_store_ps(SFRe + 264, _mm256_sub_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 264)));
	_mm256_store_ps(SFIm + 264, _mm256_sub_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 264)));
	_mm256_store_ps(SFRe + 256, m256R);
	_mm256_store_ps(SFIm + 256, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 272);
	m256I = _mm256_load_ps(SFIm + 272);
	_mm256_store_ps(SFRe + 272, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 272, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 280);
	m256I = _mm256_load_ps(SFIm + 280);
	_mm256_store_ps(SFRe + 280, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 280, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 280);
	m256I = _mm256_load_ps(SFIm + 280);
	_mm256_store_ps(SFRe + 280, _mm256_sub_ps(_mm256_load_ps(SFIm + 272), m256I));
	_mm256_store_ps(SFIm + 280, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 272)));
	_mm256_store_ps(SFRe + 272, _mm256_add_ps(_mm256_load_ps(SFRe + 272), m256R));
	_mm256_store_ps(SFIm + 272, _mm256_add_ps(_mm256_load_ps(SFIm + 272), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 272));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 272));
	_mm256_store_ps(SFRe + 272, _mm256_sub_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 272)));
	_mm256_store_ps(SFIm + 272, _mm256_sub_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 272)));
	_mm256_store_ps(SFRe + 256, m256R);
	_mm256_store_ps(SFIm + 256, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 264), _mm256_load_ps(SFRe + 280));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 264), _mm256_load_ps(SFIm + 280));
	_mm256_store_ps(SFRe + 280, _mm256_sub_ps(_mm256_load_ps(SFRe + 264), _mm256_load_ps(SFRe + 280)));
	_mm256_store_ps(SFIm + 280, _mm256_sub_ps(_mm256_load_ps(SFIm + 264), _mm256_load_ps(SFIm + 280)));
	_mm256_store_ps(SFRe + 264, m256R);
	_mm256_store_ps(SFIm + 264, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 288);
	m256I = _mm256_load_ps(SFIm + 288);
	_mm256_store_ps(SFRe + 288, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 288, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 304);
	m256I = _mm256_load_ps(SFIm + 304);
	_mm256_store_ps(SFRe + 304, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 304, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 304);
	m256I = _mm256_load_ps(SFIm + 304);
	_mm256_store_ps(SFRe + 304, _mm256_sub_ps(_mm256_load_ps(SFIm + 288), m256I));
	_mm256_store_ps(SFIm + 304, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 288)));
	_mm256_store_ps(SFRe + 288, _mm256_add_ps(_mm256_load_ps(SFRe + 288), m256R));
	_mm256_store_ps(SFIm + 288, _mm256_add_ps(_mm256_load_ps(SFIm + 288), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 296);
	m256I = _mm256_load_ps(SFIm + 296);
	_mm256_store_ps(SFRe + 296, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 296, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 312);
	m256I = _mm256_load_ps(SFIm + 312);
	_mm256_store_ps(SFRe + 312, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 312, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 312);
	m256I = _mm256_load_ps(SFIm + 312);
	_mm256_store_ps(SFRe + 312, _mm256_sub_ps(_mm256_load_ps(SFIm + 296), m256I));
	_mm256_store_ps(SFIm + 312, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 296)));
	_mm256_store_ps(SFRe + 296, _mm256_add_ps(_mm256_load_ps(SFRe + 296), m256R));
	_mm256_store_ps(SFIm + 296, _mm256_add_ps(_mm256_load_ps(SFIm + 296), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 288));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 288));
	_mm256_store_ps(SFRe + 288, _mm256_sub_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 288)));
	_mm256_store_ps(SFIm + 288, _mm256_sub_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 288)));
	_mm256_store_ps(SFRe + 256, m256R);
	_mm256_store_ps(SFIm + 256, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 264), _mm256_load_ps(SFRe + 296));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 264), _mm256_load_ps(SFIm + 296));
	_mm256_store_ps(SFRe + 296, _mm256_sub_ps(_mm256_load_ps(SFRe + 264), _mm256_load_ps(SFRe + 296)));
	_mm256_store_ps(SFIm + 296, _mm256_sub_ps(_mm256_load_ps(SFIm + 264), _mm256_load_ps(SFIm + 296)));
	_mm256_store_ps(SFRe + 264, m256R);
	_mm256_store_ps(SFIm + 264, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 272), _mm256_load_ps(SFRe + 304));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 272), _mm256_load_ps(SFIm + 304));
	_mm256_store_ps(SFRe + 304, _mm256_sub_ps(_mm256_load_ps(SFRe + 272), _mm256_load_ps(SFRe + 304)));
	_mm256_store_ps(SFIm + 304, _mm256_sub_ps(_mm256_load_ps(SFIm + 272), _mm256_load_ps(SFIm + 304)));
	_mm256_store_ps(SFRe + 272, m256R);
	_mm256_store_ps(SFIm + 272, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 280), _mm256_load_ps(SFRe + 312));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 280), _mm256_load_ps(SFIm + 312));
	_mm256_store_ps(SFRe + 312, _mm256_sub_ps(_mm256_load_ps(SFRe + 280), _mm256_load_ps(SFRe + 312)));
	_mm256_store_ps(SFIm + 312, _mm256_sub_ps(_mm256_load_ps(SFIm + 280), _mm256_load_ps(SFIm + 312)));
	_mm256_store_ps(SFRe + 280, m256R);
	_mm256_store_ps(SFIm + 280, m256I);
	m256RF1 = _mm256_set_ps(0.941546, 0.956946, 0.970039, 0.980794, 0.989178, 0.995187, 0.998797, 1.000000);
	m256IF1 = _mm256_set_ps(-0.336883, -0.290265, -0.242948, -0.195044, -0.146720, -0.097994, -0.049031, -0.000000);
	m256RF2 = _mm256_set_ps(0.514121, 0.634402, 0.740952, 0.831492, 0.904002, 0.956946, 0.989178, 1.000000);
	m256IF2 = _mm256_set_ps(-0.857718, -0.773004, -0.671558, -0.555536, -0.427528, -0.290265, -0.146720, -0.000000);
	m256R = _mm256_load_ps(SFRe + 320);
	m256I = _mm256_load_ps(SFIm + 320);
	_mm256_store_ps(SFRe + 320, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 320, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 352);
	m256I = _mm256_load_ps(SFIm + 352);
	_mm256_store_ps(SFRe + 352, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 352, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 352);
	m256I = _mm256_load_ps(SFIm + 352);
	_mm256_store_ps(SFRe + 352, _mm256_sub_ps(_mm256_load_ps(SFIm + 320), m256I));
	_mm256_store_ps(SFIm + 352, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 320)));
	_mm256_store_ps(SFRe + 320, _mm256_add_ps(_mm256_load_ps(SFRe + 320), m256R));
	_mm256_store_ps(SFIm + 320, _mm256_add_ps(_mm256_load_ps(SFIm + 320), m256I));
	m256RF1 = _mm256_set_ps(0.740952, 0.773019, 0.803224, 0.831492, 0.857731, 0.881929, 0.904002, 0.923896);
	m256IF1 = _mm256_set_ps(-0.671558, -0.634382, -0.595677, -0.555536, -0.514099, -0.471382, -0.427528, -0.382643);
	m256RF2 = _mm256_set_ps(-0.595697, -0.471404, -0.336907, -0.195069, -0.049056, 0.098019, 0.242972, 0.382712);
	m256IF2 = _mm256_set_ps(-0.803209, -0.881918, -0.941538, -0.980790, -0.998796, -0.995185, -0.970033, -0.923868);
	m256R = _mm256_load_ps(SFRe + 328);
	m256I = _mm256_load_ps(SFIm + 328);
	_mm256_store_ps(SFRe + 328, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 328, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 360);
	m256I = _mm256_load_ps(SFIm + 360);
	_mm256_store_ps(SFRe + 360, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 360, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 360);
	m256I = _mm256_load_ps(SFIm + 360);
	_mm256_store_ps(SFRe + 360, _mm256_sub_ps(_mm256_load_ps(SFIm + 328), m256I));
	_mm256_store_ps(SFIm + 360, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 328)));
	_mm256_store_ps(SFRe + 328, _mm256_add_ps(_mm256_load_ps(SFRe + 328), m256R));
	_mm256_store_ps(SFIm + 328, _mm256_add_ps(_mm256_load_ps(SFIm + 328), m256I));
	m256RF1 = _mm256_set_ps(0.427550, 0.471404, 0.514121, 0.555599, 0.595697, 0.634402, 0.671577, 0.707133);
	m256IF1 = _mm256_set_ps(-0.903992, -0.881918, -0.857718, -0.831451, -0.803209, -0.773004, -0.740935, -0.707080);
	m256RF2 = _mm256_set_ps(-0.970039, -0.995187, -0.998797, -0.980785, -0.941546, -0.881929, -0.803224, -0.707098);
	m256IF2 = _mm256_set_ps(0.242948, 0.097994, -0.049031, -0.195093, -0.336883, -0.471382, -0.595677, -0.707116);
	m256R = _mm256_load_ps(SFRe + 336);
	m256I = _mm256_load_ps(SFIm + 336);
	_mm256_store_ps(SFRe + 336, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 336, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 368);
	m256I = _mm256_load_ps(SFIm + 368);
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 368, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 368);
	m256I = _mm256_load_ps(SFIm + 368);
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_load_ps(SFIm + 336), m256I));
	_mm256_store_ps(SFIm + 368, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 336)));
	_mm256_store_ps(SFRe + 336, _mm256_add_ps(_mm256_load_ps(SFRe + 336), m256R));
	_mm256_store_ps(SFIm + 336, _mm256_add_ps(_mm256_load_ps(SFIm + 336), m256I));
	m256RF1 = _mm256_set_ps(0.049056, 0.098019, 0.146745, 0.195118, 0.242972, 0.290289, 0.336907, 0.382712);
	m256IF1 = _mm256_set_ps(-0.998796, -0.995185, -0.989174, -0.980780, -0.970033, -0.956939, -0.941538, -0.923868);
	m256RF2 = _mm256_set_ps(-0.146745, -0.290289, -0.427550, -0.555599, -0.671577, -0.773019, -0.857731, -0.923896);
	m256IF2 = _mm256_set_ps(0.989174, 0.956939, 0.903992, 0.831451, 0.740935, 0.634382, 0.514099, 0.382643);
	m256R = _mm256_load_ps(SFRe + 344);
	m256I = _mm256_load_ps(SFIm + 344);
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 344, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 376);
	m256I = _mm256_load_ps(SFIm + 376);
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 376, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 376);
	m256I = _mm256_load_ps(SFIm + 376);
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_load_ps(SFIm + 344), m256I));
	_mm256_store_ps(SFIm + 376, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 344)));
	_mm256_store_ps(SFRe + 344, _mm256_add_ps(_mm256_load_ps(SFRe + 344), m256R));
	_mm256_store_ps(SFIm + 344, _mm256_add_ps(_mm256_load_ps(SFIm + 344), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 320));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 320));
	_mm256_store_ps(SFRe + 320, _mm256_sub_ps(_mm256_load_ps(SFRe + 256), _mm256_load_ps(SFRe + 320)));
	_mm256_store_ps(SFIm + 320, _mm256_sub_ps(_mm256_load_ps(SFIm + 256), _mm256_load_ps(SFIm + 320)));
	_mm256_store_ps(SFRe + 256, m256R);
	_mm256_store_ps(SFIm + 256, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 264), _mm256_load_ps(SFRe + 328));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 264), _mm256_load_ps(SFIm + 328));
	_mm256_store_ps(SFRe + 328, _mm256_sub_ps(_mm256_load_ps(SFRe + 264), _mm256_load_ps(SFRe + 328)));
	_mm256_store_ps(SFIm + 328, _mm256_sub_ps(_mm256_load_ps(SFIm + 264), _mm256_load_ps(SFIm + 328)));
	_mm256_store_ps(SFRe + 264, m256R);
	_mm256_store_ps(SFIm + 264, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 272), _mm256_load_ps(SFRe + 336));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 272), _mm256_load_ps(SFIm + 336));
	_mm256_store_ps(SFRe + 336, _mm256_sub_ps(_mm256_load_ps(SFRe + 272), _mm256_load_ps(SFRe + 336)));
	_mm256_store_ps(SFIm + 336, _mm256_sub_ps(_mm256_load_ps(SFIm + 272), _mm256_load_ps(SFIm + 336)));
	_mm256_store_ps(SFRe + 272, m256R);
	_mm256_store_ps(SFIm + 272, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 280), _mm256_load_ps(SFRe + 344));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 280), _mm256_load_ps(SFIm + 344));
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_load_ps(SFRe + 280), _mm256_load_ps(SFRe + 344)));
	_mm256_store_ps(SFIm + 344, _mm256_sub_ps(_mm256_load_ps(SFIm + 280), _mm256_load_ps(SFIm + 344)));
	_mm256_store_ps(SFRe + 280, m256R);
	_mm256_store_ps(SFIm + 280, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 288), _mm256_load_ps(SFRe + 352));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 288), _mm256_load_ps(SFIm + 352));
	_mm256_store_ps(SFRe + 352, _mm256_sub_ps(_mm256_load_ps(SFRe + 288), _mm256_load_ps(SFRe + 352)));
	_mm256_store_ps(SFIm + 352, _mm256_sub_ps(_mm256_load_ps(SFIm + 288), _mm256_load_ps(SFIm + 352)));
	_mm256_store_ps(SFRe + 288, m256R);
	_mm256_store_ps(SFIm + 288, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 296), _mm256_load_ps(SFRe + 360));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 296), _mm256_load_ps(SFIm + 360));
	_mm256_store_ps(SFRe + 360, _mm256_sub_ps(_mm256_load_ps(SFRe + 296), _mm256_load_ps(SFRe + 360)));
	_mm256_store_ps(SFIm + 360, _mm256_sub_ps(_mm256_load_ps(SFIm + 296), _mm256_load_ps(SFIm + 360)));
	_mm256_store_ps(SFRe + 296, m256R);
	_mm256_store_ps(SFIm + 296, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 304), _mm256_load_ps(SFRe + 368));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 304), _mm256_load_ps(SFIm + 368));
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_load_ps(SFRe + 304), _mm256_load_ps(SFRe + 368)));
	_mm256_store_ps(SFIm + 368, _mm256_sub_ps(_mm256_load_ps(SFIm + 304), _mm256_load_ps(SFIm + 368)));
	_mm256_store_ps(SFRe + 304, m256R);
	_mm256_store_ps(SFIm + 304, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 312), _mm256_load_ps(SFRe + 376));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 312), _mm256_load_ps(SFIm + 376));
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_load_ps(SFRe + 312), _mm256_load_ps(SFRe + 376)));
	_mm256_store_ps(SFIm + 376, _mm256_sub_ps(_mm256_load_ps(SFIm + 312), _mm256_load_ps(SFIm + 376)));
	_mm256_store_ps(SFRe + 312, m256R);
	_mm256_store_ps(SFIm + 312, m256I);
	Re0 = SFRe[252]; Im0 = SFIm[252];
	Re1 = SFRe[253]; Im1 = SFIm[253];
	Re2 = SFRe[254]; Im2 = SFIm[254];
	Re3 = SFRe[255]; Im3 = SFIm[255];
	SFRe[252] = Re0 + Re1; SFIm[252] = Im0 + Im1;
	SFRe[253] = Re0 - Re1; SFIm[253] = Im0 - Im1;
	SFRe[254] = Re2 + Re3; SFIm[254] = Im2 + Im3;
	SFRe[255] = Im2 - Im3; SFIm[255] = Re3 - Re2;
	RA = SFRe[252] + SFRe[254];
	IA = SFIm[252] + SFIm[254];
	SFRe[254] = SFRe[252] - SFRe[254];
	SFIm[254] = SFIm[252] - SFIm[254];
	SFRe[252] = RA;
	SFIm[252] = IA;
	RA = SFRe[253] + SFRe[255];
	IA = SFIm[253] + SFIm[255];
	SFRe[255] = SFRe[253] - SFRe[255];
	SFIm[255] = SFIm[253] - SFIm[255];
	SFRe[253] = RA;
	SFIm[253] = IA;
	Re0 = SFRe[248]; Im0 = SFIm[248];
	Re1 = SFRe[249]; Im1 = SFIm[249];
	Re2 = SFRe[250]; Im2 = SFIm[250];
	Re3 = SFRe[251]; Im3 = SFIm[251];
	SFRe[248] = Re0 + Re1; SFIm[248] = Im0 + Im1;
	SFRe[249] = Re0 - Re1; SFIm[249] = Im0 - Im1;
	SFRe[250] = Re2 + Re3; SFIm[250] = Im2 + Im3;
	SFRe[251] = Im2 - Im3; SFIm[251] = Re3 - Re2;
	RA = SFRe[248] + SFRe[250];
	IA = SFIm[248] + SFIm[250];
	SFRe[250] = SFRe[248] - SFRe[250];
	SFIm[250] = SFIm[248] - SFIm[250];
	SFRe[248] = RA;
	SFIm[248] = IA;
	RA = SFRe[249] + SFRe[251];
	IA = SFIm[249] + SFIm[251];
	SFRe[251] = SFRe[249] - SFRe[251];
	SFIm[251] = SFIm[249] - SFIm[251];
	SFRe[249] = RA;
	SFIm[249] = IA;
	R = SFRe[246] + SFRe[247];
	I = SFIm[246] + SFIm[247];
	SFRe[247] = SFRe[246] - SFRe[247];
	SFIm[247] = SFIm[246] - SFIm[247];
	SFRe[246] = R;
	SFIm[246] = I;
	R = SFRe[244] + SFRe[245];
	I = SFIm[244] + SFIm[245];
	SFRe[245] = SFRe[244] - SFRe[245];
	SFIm[245] = SFIm[244] - SFIm[245];
	SFRe[244] = R;
	SFIm[244] = I;
	Re0 = SFRe[240]; Im0 = SFIm[240];
	Re1 = SFRe[241]; Im1 = SFIm[241];
	Re2 = SFRe[242]; Im2 = SFIm[242];
	Re3 = SFRe[243]; Im3 = SFIm[243];
	SFRe[240] = Re0 + Re1; SFIm[240] = Im0 + Im1;
	SFRe[241] = Re0 - Re1; SFIm[241] = Im0 - Im1;
	SFRe[242] = Re2 + Re3; SFIm[242] = Im2 + Im3;
	SFRe[243] = Im2 - Im3; SFIm[243] = Re3 - Re2;
	RA = SFRe[240] + SFRe[242];
	IA = SFIm[240] + SFIm[242];
	SFRe[242] = SFRe[240] - SFRe[242];
	SFIm[242] = SFIm[240] - SFIm[242];
	SFRe[240] = RA;
	SFIm[240] = IA;
	RA = SFRe[241] + SFRe[243];
	IA = SFIm[241] + SFIm[243];
	SFRe[243] = SFRe[241] - SFRe[243];
	SFIm[243] = SFIm[241] - SFIm[243];
	SFRe[241] = RA;
	SFIm[241] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[244];
	I = SFIm[244];
	SFRe[244] = R * RF1 - I * IF1;
	SFIm[244] = R * IF1 + I * RF1;
	R = SFRe[246];
	I = SFIm[246];
	SFRe[246] = R * RF2 - I * IF2;
	SFIm[246] = R * IF2 + I * RF2;
	R = SFRe[246];
	I = SFIm[246];
	SFRe[246] = SFIm[244] - I;
	SFIm[246] = R - SFRe[244];
	SFRe[244] += R;
	SFIm[244] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[245];
	I = SFIm[245];
	SFRe[245] = R * RF1 - I * IF1;
	SFIm[245] = R * IF1 + I * RF1;
	R = SFRe[247];
	I = SFIm[247];
	SFRe[247] = R * RF2 - I * IF2;
	SFIm[247] = R * IF2 + I * RF2;
	R = SFRe[247];
	I = SFIm[247];
	SFRe[247] = SFIm[245] - I;
	SFIm[247] = R - SFRe[245];
	SFRe[245] += R;
	SFIm[245] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244));
	_mm_store_ps(SFRe + 244, _mm_sub_ps(_mm_load_ps(SFRe + 240), _mm_load_ps(SFRe + 244)));
	_mm_store_ps(SFIm + 244, _mm_sub_ps(_mm_load_ps(SFIm + 240), _mm_load_ps(SFIm + 244)));
	_mm_store_ps(SFRe + 240, mR);
	_mm_store_ps(SFIm + 240, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 248);
	mI = _mm_load_ps(SFIm + 248);
	_mm_store_ps(SFRe + 248, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 252, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 252);
	mI = _mm_load_ps(SFIm + 252);
	_mm_store_ps(SFRe + 252, _mm_sub_ps(_mm_load_ps(SFIm + 248), mI));
	_mm_store_ps(SFIm + 252, _mm_sub_ps(mR, _mm_load_ps(SFRe + 248)));
	_mm_store_ps(SFRe + 248, _mm_add_ps(_mm_load_ps(SFRe + 248), mR));
	_mm_store_ps(SFIm + 248, _mm_add_ps(_mm_load_ps(SFIm + 248), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 240), _mm256_load_ps(SFRe + 248));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 240), _mm256_load_ps(SFIm + 248));
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFRe + 240), _mm256_load_ps(SFRe + 248)));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 240), _mm256_load_ps(SFIm + 248)));
	_mm256_store_ps(SFRe + 240, m256R);
	_mm256_store_ps(SFIm + 240, m256I);
	Re0 = SFRe[236]; Im0 = SFIm[236];
	Re1 = SFRe[237]; Im1 = SFIm[237];
	Re2 = SFRe[238]; Im2 = SFIm[238];
	Re3 = SFRe[239]; Im3 = SFIm[239];
	SFRe[236] = Re0 + Re1; SFIm[236] = Im0 + Im1;
	SFRe[237] = Re0 - Re1; SFIm[237] = Im0 - Im1;
	SFRe[238] = Re2 + Re3; SFIm[238] = Im2 + Im3;
	SFRe[239] = Im2 - Im3; SFIm[239] = Re3 - Re2;
	RA = SFRe[236] + SFRe[238];
	IA = SFIm[236] + SFIm[238];
	SFRe[238] = SFRe[236] - SFRe[238];
	SFIm[238] = SFIm[236] - SFIm[238];
	SFRe[236] = RA;
	SFIm[236] = IA;
	RA = SFRe[237] + SFRe[239];
	IA = SFIm[237] + SFIm[239];
	SFRe[239] = SFRe[237] - SFRe[239];
	SFIm[239] = SFIm[237] - SFIm[239];
	SFRe[237] = RA;
	SFIm[237] = IA;
	Re0 = SFRe[232]; Im0 = SFIm[232];
	Re1 = SFRe[233]; Im1 = SFIm[233];
	Re2 = SFRe[234]; Im2 = SFIm[234];
	Re3 = SFRe[235]; Im3 = SFIm[235];
	SFRe[232] = Re0 + Re1; SFIm[232] = Im0 + Im1;
	SFRe[233] = Re0 - Re1; SFIm[233] = Im0 - Im1;
	SFRe[234] = Re2 + Re3; SFIm[234] = Im2 + Im3;
	SFRe[235] = Im2 - Im3; SFIm[235] = Re3 - Re2;
	RA = SFRe[232] + SFRe[234];
	IA = SFIm[232] + SFIm[234];
	SFRe[234] = SFRe[232] - SFRe[234];
	SFIm[234] = SFIm[232] - SFIm[234];
	SFRe[232] = RA;
	SFIm[232] = IA;
	RA = SFRe[233] + SFRe[235];
	IA = SFIm[233] + SFIm[235];
	SFRe[235] = SFRe[233] - SFRe[235];
	SFIm[235] = SFIm[233] - SFIm[235];
	SFRe[233] = RA;
	SFIm[233] = IA;
	R = SFRe[230] + SFRe[231];
	I = SFIm[230] + SFIm[231];
	SFRe[231] = SFRe[230] - SFRe[231];
	SFIm[231] = SFIm[230] - SFIm[231];
	SFRe[230] = R;
	SFIm[230] = I;
	R = SFRe[228] + SFRe[229];
	I = SFIm[228] + SFIm[229];
	SFRe[229] = SFRe[228] - SFRe[229];
	SFIm[229] = SFIm[228] - SFIm[229];
	SFRe[228] = R;
	SFIm[228] = I;
	Re0 = SFRe[224]; Im0 = SFIm[224];
	Re1 = SFRe[225]; Im1 = SFIm[225];
	Re2 = SFRe[226]; Im2 = SFIm[226];
	Re3 = SFRe[227]; Im3 = SFIm[227];
	SFRe[224] = Re0 + Re1; SFIm[224] = Im0 + Im1;
	SFRe[225] = Re0 - Re1; SFIm[225] = Im0 - Im1;
	SFRe[226] = Re2 + Re3; SFIm[226] = Im2 + Im3;
	SFRe[227] = Im2 - Im3; SFIm[227] = Re3 - Re2;
	RA = SFRe[224] + SFRe[226];
	IA = SFIm[224] + SFIm[226];
	SFRe[226] = SFRe[224] - SFRe[226];
	SFIm[226] = SFIm[224] - SFIm[226];
	SFRe[224] = RA;
	SFIm[224] = IA;
	RA = SFRe[225] + SFRe[227];
	IA = SFIm[225] + SFIm[227];
	SFRe[227] = SFRe[225] - SFRe[227];
	SFIm[227] = SFIm[225] - SFIm[227];
	SFRe[225] = RA;
	SFIm[225] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[228];
	I = SFIm[228];
	SFRe[228] = R * RF1 - I * IF1;
	SFIm[228] = R * IF1 + I * RF1;
	R = SFRe[230];
	I = SFIm[230];
	SFRe[230] = R * RF2 - I * IF2;
	SFIm[230] = R * IF2 + I * RF2;
	R = SFRe[230];
	I = SFIm[230];
	SFRe[230] = SFIm[228] - I;
	SFIm[230] = R - SFRe[228];
	SFRe[228] += R;
	SFIm[228] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[229];
	I = SFIm[229];
	SFRe[229] = R * RF1 - I * IF1;
	SFIm[229] = R * IF1 + I * RF1;
	R = SFRe[231];
	I = SFIm[231];
	SFRe[231] = R * RF2 - I * IF2;
	SFIm[231] = R * IF2 + I * RF2;
	R = SFRe[231];
	I = SFIm[231];
	SFRe[231] = SFIm[229] - I;
	SFIm[231] = R - SFRe[229];
	SFRe[229] += R;
	SFIm[229] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228));
	_mm_store_ps(SFRe + 228, _mm_sub_ps(_mm_load_ps(SFRe + 224), _mm_load_ps(SFRe + 228)));
	_mm_store_ps(SFIm + 228, _mm_sub_ps(_mm_load_ps(SFIm + 224), _mm_load_ps(SFIm + 228)));
	_mm_store_ps(SFRe + 224, mR);
	_mm_store_ps(SFIm + 224, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 232);
	mI = _mm_load_ps(SFIm + 232);
	_mm_store_ps(SFRe + 232, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 236, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 236);
	mI = _mm_load_ps(SFIm + 236);
	_mm_store_ps(SFRe + 236, _mm_sub_ps(_mm_load_ps(SFIm + 232), mI));
	_mm_store_ps(SFIm + 236, _mm_sub_ps(mR, _mm_load_ps(SFRe + 232)));
	_mm_store_ps(SFRe + 232, _mm_add_ps(_mm_load_ps(SFRe + 232), mR));
	_mm_store_ps(SFIm + 232, _mm_add_ps(_mm_load_ps(SFIm + 232), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 224), _mm256_load_ps(SFRe + 232));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 224), _mm256_load_ps(SFIm + 232));
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFRe + 224), _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 224), _mm256_load_ps(SFIm + 232)));
	_mm256_store_ps(SFRe + 224, m256R);
	_mm256_store_ps(SFIm + 224, m256I);
	R = SFRe[222] + SFRe[223];
	I = SFIm[222] + SFIm[223];
	SFRe[223] = SFRe[222] - SFRe[223];
	SFIm[223] = SFIm[222] - SFIm[223];
	SFRe[222] = R;
	SFIm[222] = I;
	R = SFRe[220] + SFRe[221];
	I = SFIm[220] + SFIm[221];
	SFRe[221] = SFRe[220] - SFRe[221];
	SFIm[221] = SFIm[220] - SFIm[221];
	SFRe[220] = R;
	SFIm[220] = I;
	Re0 = SFRe[216]; Im0 = SFIm[216];
	Re1 = SFRe[217]; Im1 = SFIm[217];
	Re2 = SFRe[218]; Im2 = SFIm[218];
	Re3 = SFRe[219]; Im3 = SFIm[219];
	SFRe[216] = Re0 + Re1; SFIm[216] = Im0 + Im1;
	SFRe[217] = Re0 - Re1; SFIm[217] = Im0 - Im1;
	SFRe[218] = Re2 + Re3; SFIm[218] = Im2 + Im3;
	SFRe[219] = Im2 - Im3; SFIm[219] = Re3 - Re2;
	RA = SFRe[216] + SFRe[218];
	IA = SFIm[216] + SFIm[218];
	SFRe[218] = SFRe[216] - SFRe[218];
	SFIm[218] = SFIm[216] - SFIm[218];
	SFRe[216] = RA;
	SFIm[216] = IA;
	RA = SFRe[217] + SFRe[219];
	IA = SFIm[217] + SFIm[219];
	SFRe[219] = SFRe[217] - SFRe[219];
	SFIm[219] = SFIm[217] - SFIm[219];
	SFRe[217] = RA;
	SFIm[217] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[220];
	I = SFIm[220];
	SFRe[220] = R * RF1 - I * IF1;
	SFIm[220] = R * IF1 + I * RF1;
	R = SFRe[222];
	I = SFIm[222];
	SFRe[222] = R * RF2 - I * IF2;
	SFIm[222] = R * IF2 + I * RF2;
	R = SFRe[222];
	I = SFIm[222];
	SFRe[222] = SFIm[220] - I;
	SFIm[222] = R - SFRe[220];
	SFRe[220] += R;
	SFIm[220] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[221];
	I = SFIm[221];
	SFRe[221] = R * RF1 - I * IF1;
	SFIm[221] = R * IF1 + I * RF1;
	R = SFRe[223];
	I = SFIm[223];
	SFRe[223] = R * RF2 - I * IF2;
	SFIm[223] = R * IF2 + I * RF2;
	R = SFRe[223];
	I = SFIm[223];
	SFRe[223] = SFIm[221] - I;
	SFIm[223] = R - SFRe[221];
	SFRe[221] += R;
	SFIm[221] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220));
	_mm_store_ps(SFRe + 220, _mm_sub_ps(_mm_load_ps(SFRe + 216), _mm_load_ps(SFRe + 220)));
	_mm_store_ps(SFIm + 220, _mm_sub_ps(_mm_load_ps(SFIm + 216), _mm_load_ps(SFIm + 220)));
	_mm_store_ps(SFRe + 216, mR);
	_mm_store_ps(SFIm + 216, mI);
	R = SFRe[214] + SFRe[215];
	I = SFIm[214] + SFIm[215];
	SFRe[215] = SFRe[214] - SFRe[215];
	SFIm[215] = SFIm[214] - SFIm[215];
	SFRe[214] = R;
	SFIm[214] = I;
	R = SFRe[212] + SFRe[213];
	I = SFIm[212] + SFIm[213];
	SFRe[213] = SFRe[212] - SFRe[213];
	SFIm[213] = SFIm[212] - SFIm[213];
	SFRe[212] = R;
	SFIm[212] = I;
	Re0 = SFRe[208]; Im0 = SFIm[208];
	Re1 = SFRe[209]; Im1 = SFIm[209];
	Re2 = SFRe[210]; Im2 = SFIm[210];
	Re3 = SFRe[211]; Im3 = SFIm[211];
	SFRe[208] = Re0 + Re1; SFIm[208] = Im0 + Im1;
	SFRe[209] = Re0 - Re1; SFIm[209] = Im0 - Im1;
	SFRe[210] = Re2 + Re3; SFIm[210] = Im2 + Im3;
	SFRe[211] = Im2 - Im3; SFIm[211] = Re3 - Re2;
	RA = SFRe[208] + SFRe[210];
	IA = SFIm[208] + SFIm[210];
	SFRe[210] = SFRe[208] - SFRe[210];
	SFIm[210] = SFIm[208] - SFIm[210];
	SFRe[208] = RA;
	SFIm[208] = IA;
	RA = SFRe[209] + SFRe[211];
	IA = SFIm[209] + SFIm[211];
	SFRe[211] = SFRe[209] - SFRe[211];
	SFIm[211] = SFIm[209] - SFIm[211];
	SFRe[209] = RA;
	SFIm[209] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[212];
	I = SFIm[212];
	SFRe[212] = R * RF1 - I * IF1;
	SFIm[212] = R * IF1 + I * RF1;
	R = SFRe[214];
	I = SFIm[214];
	SFRe[214] = R * RF2 - I * IF2;
	SFIm[214] = R * IF2 + I * RF2;
	R = SFRe[214];
	I = SFIm[214];
	SFRe[214] = SFIm[212] - I;
	SFIm[214] = R - SFRe[212];
	SFRe[212] += R;
	SFIm[212] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[213];
	I = SFIm[213];
	SFRe[213] = R * RF1 - I * IF1;
	SFIm[213] = R * IF1 + I * RF1;
	R = SFRe[215];
	I = SFIm[215];
	SFRe[215] = R * RF2 - I * IF2;
	SFIm[215] = R * IF2 + I * RF2;
	R = SFRe[215];
	I = SFIm[215];
	SFRe[215] = SFIm[213] - I;
	SFIm[215] = R - SFRe[213];
	SFRe[213] += R;
	SFIm[213] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212));
	_mm_store_ps(SFRe + 212, _mm_sub_ps(_mm_load_ps(SFRe + 208), _mm_load_ps(SFRe + 212)));
	_mm_store_ps(SFIm + 212, _mm_sub_ps(_mm_load_ps(SFIm + 208), _mm_load_ps(SFIm + 212)));
	_mm_store_ps(SFRe + 208, mR);
	_mm_store_ps(SFIm + 208, mI);
	Re0 = SFRe[204]; Im0 = SFIm[204];
	Re1 = SFRe[205]; Im1 = SFIm[205];
	Re2 = SFRe[206]; Im2 = SFIm[206];
	Re3 = SFRe[207]; Im3 = SFIm[207];
	SFRe[204] = Re0 + Re1; SFIm[204] = Im0 + Im1;
	SFRe[205] = Re0 - Re1; SFIm[205] = Im0 - Im1;
	SFRe[206] = Re2 + Re3; SFIm[206] = Im2 + Im3;
	SFRe[207] = Im2 - Im3; SFIm[207] = Re3 - Re2;
	RA = SFRe[204] + SFRe[206];
	IA = SFIm[204] + SFIm[206];
	SFRe[206] = SFRe[204] - SFRe[206];
	SFIm[206] = SFIm[204] - SFIm[206];
	SFRe[204] = RA;
	SFIm[204] = IA;
	RA = SFRe[205] + SFRe[207];
	IA = SFIm[205] + SFIm[207];
	SFRe[207] = SFRe[205] - SFRe[207];
	SFIm[207] = SFIm[205] - SFIm[207];
	SFRe[205] = RA;
	SFIm[205] = IA;
	Re0 = SFRe[200]; Im0 = SFIm[200];
	Re1 = SFRe[201]; Im1 = SFIm[201];
	Re2 = SFRe[202]; Im2 = SFIm[202];
	Re3 = SFRe[203]; Im3 = SFIm[203];
	SFRe[200] = Re0 + Re1; SFIm[200] = Im0 + Im1;
	SFRe[201] = Re0 - Re1; SFIm[201] = Im0 - Im1;
	SFRe[202] = Re2 + Re3; SFIm[202] = Im2 + Im3;
	SFRe[203] = Im2 - Im3; SFIm[203] = Re3 - Re2;
	RA = SFRe[200] + SFRe[202];
	IA = SFIm[200] + SFIm[202];
	SFRe[202] = SFRe[200] - SFRe[202];
	SFIm[202] = SFIm[200] - SFIm[202];
	SFRe[200] = RA;
	SFIm[200] = IA;
	RA = SFRe[201] + SFRe[203];
	IA = SFIm[201] + SFIm[203];
	SFRe[203] = SFRe[201] - SFRe[203];
	SFIm[203] = SFIm[201] - SFIm[203];
	SFRe[201] = RA;
	SFIm[201] = IA;
	R = SFRe[198] + SFRe[199];
	I = SFIm[198] + SFIm[199];
	SFRe[199] = SFRe[198] - SFRe[199];
	SFIm[199] = SFIm[198] - SFIm[199];
	SFRe[198] = R;
	SFIm[198] = I;
	R = SFRe[196] + SFRe[197];
	I = SFIm[196] + SFIm[197];
	SFRe[197] = SFRe[196] - SFRe[197];
	SFIm[197] = SFIm[196] - SFIm[197];
	SFRe[196] = R;
	SFIm[196] = I;
	Re0 = SFRe[192]; Im0 = SFIm[192];
	Re1 = SFRe[193]; Im1 = SFIm[193];
	Re2 = SFRe[194]; Im2 = SFIm[194];
	Re3 = SFRe[195]; Im3 = SFIm[195];
	SFRe[192] = Re0 + Re1; SFIm[192] = Im0 + Im1;
	SFRe[193] = Re0 - Re1; SFIm[193] = Im0 - Im1;
	SFRe[194] = Re2 + Re3; SFIm[194] = Im2 + Im3;
	SFRe[195] = Im2 - Im3; SFIm[195] = Re3 - Re2;
	RA = SFRe[192] + SFRe[194];
	IA = SFIm[192] + SFIm[194];
	SFRe[194] = SFRe[192] - SFRe[194];
	SFIm[194] = SFIm[192] - SFIm[194];
	SFRe[192] = RA;
	SFIm[192] = IA;
	RA = SFRe[193] + SFRe[195];
	IA = SFIm[193] + SFIm[195];
	SFRe[195] = SFRe[193] - SFRe[195];
	SFIm[195] = SFIm[193] - SFIm[195];
	SFRe[193] = RA;
	SFIm[193] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[196];
	I = SFIm[196];
	SFRe[196] = R * RF1 - I * IF1;
	SFIm[196] = R * IF1 + I * RF1;
	R = SFRe[198];
	I = SFIm[198];
	SFRe[198] = R * RF2 - I * IF2;
	SFIm[198] = R * IF2 + I * RF2;
	R = SFRe[198];
	I = SFIm[198];
	SFRe[198] = SFIm[196] - I;
	SFIm[198] = R - SFRe[196];
	SFRe[196] += R;
	SFIm[196] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[197];
	I = SFIm[197];
	SFRe[197] = R * RF1 - I * IF1;
	SFIm[197] = R * IF1 + I * RF1;
	R = SFRe[199];
	I = SFIm[199];
	SFRe[199] = R * RF2 - I * IF2;
	SFIm[199] = R * IF2 + I * RF2;
	R = SFRe[199];
	I = SFIm[199];
	SFRe[199] = SFIm[197] - I;
	SFIm[199] = R - SFRe[197];
	SFRe[197] += R;
	SFIm[197] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196));
	_mm_store_ps(SFRe + 196, _mm_sub_ps(_mm_load_ps(SFRe + 192), _mm_load_ps(SFRe + 196)));
	_mm_store_ps(SFIm + 196, _mm_sub_ps(_mm_load_ps(SFIm + 192), _mm_load_ps(SFIm + 196)));
	_mm_store_ps(SFRe + 192, mR);
	_mm_store_ps(SFIm + 192, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 200);
	mI = _mm_load_ps(SFIm + 200);
	_mm_store_ps(SFRe + 200, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 204, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 204);
	mI = _mm_load_ps(SFIm + 204);
	_mm_store_ps(SFRe + 204, _mm_sub_ps(_mm_load_ps(SFIm + 200), mI));
	_mm_store_ps(SFIm + 204, _mm_sub_ps(mR, _mm_load_ps(SFRe + 200)));
	_mm_store_ps(SFRe + 200, _mm_add_ps(_mm_load_ps(SFRe + 200), mR));
	_mm_store_ps(SFIm + 200, _mm_add_ps(_mm_load_ps(SFIm + 200), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 200));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 200));
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 200)));
	_mm256_store_ps(SFIm + 200, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 200)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 208);
	m256I = _mm256_load_ps(SFIm + 208);
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 208, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 216, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 208), m256I));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 208)));
	_mm256_store_ps(SFRe + 208, _mm256_add_ps(_mm256_load_ps(SFRe + 208), m256R));
	_mm256_store_ps(SFIm + 208, _mm256_add_ps(_mm256_load_ps(SFIm + 208), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 208));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 208));
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 208)));
	_mm256_store_ps(SFIm + 208, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 208)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 216));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 216));
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 216)));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 216)));
	_mm256_store_ps(SFRe + 200, m256R);
	_mm256_store_ps(SFIm + 200, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 224);
	m256I = _mm256_load_ps(SFIm + 224);
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 224, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 240, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 224), m256I));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 224)));
	_mm256_store_ps(SFRe + 224, _mm256_add_ps(_mm256_load_ps(SFRe + 224), m256R));
	_mm256_store_ps(SFIm + 224, _mm256_add_ps(_mm256_load_ps(SFIm + 224), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 232);
	m256I = _mm256_load_ps(SFIm + 232);
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 232, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 248, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 232), m256I));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFRe + 232, _mm256_add_ps(_mm256_load_ps(SFRe + 232), m256R));
	_mm256_store_ps(SFIm + 232, _mm256_add_ps(_mm256_load_ps(SFIm + 232), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 224));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 224));
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 224)));
	_mm256_store_ps(SFIm + 224, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 224)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 232));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 232));
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 232)));
	_mm256_store_ps(SFRe + 200, m256R);
	_mm256_store_ps(SFIm + 200, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 208), _mm256_load_ps(SFRe + 240));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 208), _mm256_load_ps(SFIm + 240));
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFRe + 208), _mm256_load_ps(SFRe + 240)));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 208), _mm256_load_ps(SFIm + 240)));
	_mm256_store_ps(SFRe + 208, m256R);
	_mm256_store_ps(SFIm + 208, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 216), _mm256_load_ps(SFRe + 248));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 216), _mm256_load_ps(SFIm + 248));
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFRe + 216), _mm256_load_ps(SFRe + 248)));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 216), _mm256_load_ps(SFIm + 248)));
	_mm256_store_ps(SFRe + 216, m256R);
	_mm256_store_ps(SFIm + 216, m256I);
	Re0 = SFRe[188]; Im0 = SFIm[188];
	Re1 = SFRe[189]; Im1 = SFIm[189];
	Re2 = SFRe[190]; Im2 = SFIm[190];
	Re3 = SFRe[191]; Im3 = SFIm[191];
	SFRe[188] = Re0 + Re1; SFIm[188] = Im0 + Im1;
	SFRe[189] = Re0 - Re1; SFIm[189] = Im0 - Im1;
	SFRe[190] = Re2 + Re3; SFIm[190] = Im2 + Im3;
	SFRe[191] = Im2 - Im3; SFIm[191] = Re3 - Re2;
	RA = SFRe[188] + SFRe[190];
	IA = SFIm[188] + SFIm[190];
	SFRe[190] = SFRe[188] - SFRe[190];
	SFIm[190] = SFIm[188] - SFIm[190];
	SFRe[188] = RA;
	SFIm[188] = IA;
	RA = SFRe[189] + SFRe[191];
	IA = SFIm[189] + SFIm[191];
	SFRe[191] = SFRe[189] - SFRe[191];
	SFIm[191] = SFIm[189] - SFIm[191];
	SFRe[189] = RA;
	SFIm[189] = IA;
	Re0 = SFRe[184]; Im0 = SFIm[184];
	Re1 = SFRe[185]; Im1 = SFIm[185];
	Re2 = SFRe[186]; Im2 = SFIm[186];
	Re3 = SFRe[187]; Im3 = SFIm[187];
	SFRe[184] = Re0 + Re1; SFIm[184] = Im0 + Im1;
	SFRe[185] = Re0 - Re1; SFIm[185] = Im0 - Im1;
	SFRe[186] = Re2 + Re3; SFIm[186] = Im2 + Im3;
	SFRe[187] = Im2 - Im3; SFIm[187] = Re3 - Re2;
	RA = SFRe[184] + SFRe[186];
	IA = SFIm[184] + SFIm[186];
	SFRe[186] = SFRe[184] - SFRe[186];
	SFIm[186] = SFIm[184] - SFIm[186];
	SFRe[184] = RA;
	SFIm[184] = IA;
	RA = SFRe[185] + SFRe[187];
	IA = SFIm[185] + SFIm[187];
	SFRe[187] = SFRe[185] - SFRe[187];
	SFIm[187] = SFIm[185] - SFIm[187];
	SFRe[185] = RA;
	SFIm[185] = IA;
	R = SFRe[182] + SFRe[183];
	I = SFIm[182] + SFIm[183];
	SFRe[183] = SFRe[182] - SFRe[183];
	SFIm[183] = SFIm[182] - SFIm[183];
	SFRe[182] = R;
	SFIm[182] = I;
	R = SFRe[180] + SFRe[181];
	I = SFIm[180] + SFIm[181];
	SFRe[181] = SFRe[180] - SFRe[181];
	SFIm[181] = SFIm[180] - SFIm[181];
	SFRe[180] = R;
	SFIm[180] = I;
	Re0 = SFRe[176]; Im0 = SFIm[176];
	Re1 = SFRe[177]; Im1 = SFIm[177];
	Re2 = SFRe[178]; Im2 = SFIm[178];
	Re3 = SFRe[179]; Im3 = SFIm[179];
	SFRe[176] = Re0 + Re1; SFIm[176] = Im0 + Im1;
	SFRe[177] = Re0 - Re1; SFIm[177] = Im0 - Im1;
	SFRe[178] = Re2 + Re3; SFIm[178] = Im2 + Im3;
	SFRe[179] = Im2 - Im3; SFIm[179] = Re3 - Re2;
	RA = SFRe[176] + SFRe[178];
	IA = SFIm[176] + SFIm[178];
	SFRe[178] = SFRe[176] - SFRe[178];
	SFIm[178] = SFIm[176] - SFIm[178];
	SFRe[176] = RA;
	SFIm[176] = IA;
	RA = SFRe[177] + SFRe[179];
	IA = SFIm[177] + SFIm[179];
	SFRe[179] = SFRe[177] - SFRe[179];
	SFIm[179] = SFIm[177] - SFIm[179];
	SFRe[177] = RA;
	SFIm[177] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[180];
	I = SFIm[180];
	SFRe[180] = R * RF1 - I * IF1;
	SFIm[180] = R * IF1 + I * RF1;
	R = SFRe[182];
	I = SFIm[182];
	SFRe[182] = R * RF2 - I * IF2;
	SFIm[182] = R * IF2 + I * RF2;
	R = SFRe[182];
	I = SFIm[182];
	SFRe[182] = SFIm[180] - I;
	SFIm[182] = R - SFRe[180];
	SFRe[180] += R;
	SFIm[180] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[181];
	I = SFIm[181];
	SFRe[181] = R * RF1 - I * IF1;
	SFIm[181] = R * IF1 + I * RF1;
	R = SFRe[183];
	I = SFIm[183];
	SFRe[183] = R * RF2 - I * IF2;
	SFIm[183] = R * IF2 + I * RF2;
	R = SFRe[183];
	I = SFIm[183];
	SFRe[183] = SFIm[181] - I;
	SFIm[183] = R - SFRe[181];
	SFRe[181] += R;
	SFIm[181] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180));
	_mm_store_ps(SFRe + 180, _mm_sub_ps(_mm_load_ps(SFRe + 176), _mm_load_ps(SFRe + 180)));
	_mm_store_ps(SFIm + 180, _mm_sub_ps(_mm_load_ps(SFIm + 176), _mm_load_ps(SFIm + 180)));
	_mm_store_ps(SFRe + 176, mR);
	_mm_store_ps(SFIm + 176, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 184);
	mI = _mm_load_ps(SFIm + 184);
	_mm_store_ps(SFRe + 184, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 188, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 188);
	mI = _mm_load_ps(SFIm + 188);
	_mm_store_ps(SFRe + 188, _mm_sub_ps(_mm_load_ps(SFIm + 184), mI));
	_mm_store_ps(SFIm + 188, _mm_sub_ps(mR, _mm_load_ps(SFRe + 184)));
	_mm_store_ps(SFRe + 184, _mm_add_ps(_mm_load_ps(SFRe + 184), mR));
	_mm_store_ps(SFIm + 184, _mm_add_ps(_mm_load_ps(SFIm + 184), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 176), _mm256_load_ps(SFRe + 184));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 176), _mm256_load_ps(SFIm + 184));
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFRe + 176), _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 176), _mm256_load_ps(SFIm + 184)));
	_mm256_store_ps(SFRe + 176, m256R);
	_mm256_store_ps(SFIm + 176, m256I);
	Re0 = SFRe[172]; Im0 = SFIm[172];
	Re1 = SFRe[173]; Im1 = SFIm[173];
	Re2 = SFRe[174]; Im2 = SFIm[174];
	Re3 = SFRe[175]; Im3 = SFIm[175];
	SFRe[172] = Re0 + Re1; SFIm[172] = Im0 + Im1;
	SFRe[173] = Re0 - Re1; SFIm[173] = Im0 - Im1;
	SFRe[174] = Re2 + Re3; SFIm[174] = Im2 + Im3;
	SFRe[175] = Im2 - Im3; SFIm[175] = Re3 - Re2;
	RA = SFRe[172] + SFRe[174];
	IA = SFIm[172] + SFIm[174];
	SFRe[174] = SFRe[172] - SFRe[174];
	SFIm[174] = SFIm[172] - SFIm[174];
	SFRe[172] = RA;
	SFIm[172] = IA;
	RA = SFRe[173] + SFRe[175];
	IA = SFIm[173] + SFIm[175];
	SFRe[175] = SFRe[173] - SFRe[175];
	SFIm[175] = SFIm[173] - SFIm[175];
	SFRe[173] = RA;
	SFIm[173] = IA;
	Re0 = SFRe[168]; Im0 = SFIm[168];
	Re1 = SFRe[169]; Im1 = SFIm[169];
	Re2 = SFRe[170]; Im2 = SFIm[170];
	Re3 = SFRe[171]; Im3 = SFIm[171];
	SFRe[168] = Re0 + Re1; SFIm[168] = Im0 + Im1;
	SFRe[169] = Re0 - Re1; SFIm[169] = Im0 - Im1;
	SFRe[170] = Re2 + Re3; SFIm[170] = Im2 + Im3;
	SFRe[171] = Im2 - Im3; SFIm[171] = Re3 - Re2;
	RA = SFRe[168] + SFRe[170];
	IA = SFIm[168] + SFIm[170];
	SFRe[170] = SFRe[168] - SFRe[170];
	SFIm[170] = SFIm[168] - SFIm[170];
	SFRe[168] = RA;
	SFIm[168] = IA;
	RA = SFRe[169] + SFRe[171];
	IA = SFIm[169] + SFIm[171];
	SFRe[171] = SFRe[169] - SFRe[171];
	SFIm[171] = SFIm[169] - SFIm[171];
	SFRe[169] = RA;
	SFIm[169] = IA;
	R = SFRe[166] + SFRe[167];
	I = SFIm[166] + SFIm[167];
	SFRe[167] = SFRe[166] - SFRe[167];
	SFIm[167] = SFIm[166] - SFIm[167];
	SFRe[166] = R;
	SFIm[166] = I;
	R = SFRe[164] + SFRe[165];
	I = SFIm[164] + SFIm[165];
	SFRe[165] = SFRe[164] - SFRe[165];
	SFIm[165] = SFIm[164] - SFIm[165];
	SFRe[164] = R;
	SFIm[164] = I;
	Re0 = SFRe[160]; Im0 = SFIm[160];
	Re1 = SFRe[161]; Im1 = SFIm[161];
	Re2 = SFRe[162]; Im2 = SFIm[162];
	Re3 = SFRe[163]; Im3 = SFIm[163];
	SFRe[160] = Re0 + Re1; SFIm[160] = Im0 + Im1;
	SFRe[161] = Re0 - Re1; SFIm[161] = Im0 - Im1;
	SFRe[162] = Re2 + Re3; SFIm[162] = Im2 + Im3;
	SFRe[163] = Im2 - Im3; SFIm[163] = Re3 - Re2;
	RA = SFRe[160] + SFRe[162];
	IA = SFIm[160] + SFIm[162];
	SFRe[162] = SFRe[160] - SFRe[162];
	SFIm[162] = SFIm[160] - SFIm[162];
	SFRe[160] = RA;
	SFIm[160] = IA;
	RA = SFRe[161] + SFRe[163];
	IA = SFIm[161] + SFIm[163];
	SFRe[163] = SFRe[161] - SFRe[163];
	SFIm[163] = SFIm[161] - SFIm[163];
	SFRe[161] = RA;
	SFIm[161] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[164];
	I = SFIm[164];
	SFRe[164] = R * RF1 - I * IF1;
	SFIm[164] = R * IF1 + I * RF1;
	R = SFRe[166];
	I = SFIm[166];
	SFRe[166] = R * RF2 - I * IF2;
	SFIm[166] = R * IF2 + I * RF2;
	R = SFRe[166];
	I = SFIm[166];
	SFRe[166] = SFIm[164] - I;
	SFIm[166] = R - SFRe[164];
	SFRe[164] += R;
	SFIm[164] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[165];
	I = SFIm[165];
	SFRe[165] = R * RF1 - I * IF1;
	SFIm[165] = R * IF1 + I * RF1;
	R = SFRe[167];
	I = SFIm[167];
	SFRe[167] = R * RF2 - I * IF2;
	SFIm[167] = R * IF2 + I * RF2;
	R = SFRe[167];
	I = SFIm[167];
	SFRe[167] = SFIm[165] - I;
	SFIm[167] = R - SFRe[165];
	SFRe[165] += R;
	SFIm[165] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164));
	_mm_store_ps(SFRe + 164, _mm_sub_ps(_mm_load_ps(SFRe + 160), _mm_load_ps(SFRe + 164)));
	_mm_store_ps(SFIm + 164, _mm_sub_ps(_mm_load_ps(SFIm + 160), _mm_load_ps(SFIm + 164)));
	_mm_store_ps(SFRe + 160, mR);
	_mm_store_ps(SFIm + 160, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 168);
	mI = _mm_load_ps(SFIm + 168);
	_mm_store_ps(SFRe + 168, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 172, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 172);
	mI = _mm_load_ps(SFIm + 172);
	_mm_store_ps(SFRe + 172, _mm_sub_ps(_mm_load_ps(SFIm + 168), mI));
	_mm_store_ps(SFIm + 172, _mm_sub_ps(mR, _mm_load_ps(SFRe + 168)));
	_mm_store_ps(SFRe + 168, _mm_add_ps(_mm_load_ps(SFRe + 168), mR));
	_mm_store_ps(SFIm + 168, _mm_add_ps(_mm_load_ps(SFIm + 168), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 160), _mm256_load_ps(SFRe + 168));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 160), _mm256_load_ps(SFIm + 168));
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_load_ps(SFRe + 160), _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFIm + 168, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), _mm256_load_ps(SFIm + 168)));
	_mm256_store_ps(SFRe + 160, m256R);
	_mm256_store_ps(SFIm + 160, m256I);
	R = SFRe[158] + SFRe[159];
	I = SFIm[158] + SFIm[159];
	SFRe[159] = SFRe[158] - SFRe[159];
	SFIm[159] = SFIm[158] - SFIm[159];
	SFRe[158] = R;
	SFIm[158] = I;
	R = SFRe[156] + SFRe[157];
	I = SFIm[156] + SFIm[157];
	SFRe[157] = SFRe[156] - SFRe[157];
	SFIm[157] = SFIm[156] - SFIm[157];
	SFRe[156] = R;
	SFIm[156] = I;
	Re0 = SFRe[152]; Im0 = SFIm[152];
	Re1 = SFRe[153]; Im1 = SFIm[153];
	Re2 = SFRe[154]; Im2 = SFIm[154];
	Re3 = SFRe[155]; Im3 = SFIm[155];
	SFRe[152] = Re0 + Re1; SFIm[152] = Im0 + Im1;
	SFRe[153] = Re0 - Re1; SFIm[153] = Im0 - Im1;
	SFRe[154] = Re2 + Re3; SFIm[154] = Im2 + Im3;
	SFRe[155] = Im2 - Im3; SFIm[155] = Re3 - Re2;
	RA = SFRe[152] + SFRe[154];
	IA = SFIm[152] + SFIm[154];
	SFRe[154] = SFRe[152] - SFRe[154];
	SFIm[154] = SFIm[152] - SFIm[154];
	SFRe[152] = RA;
	SFIm[152] = IA;
	RA = SFRe[153] + SFRe[155];
	IA = SFIm[153] + SFIm[155];
	SFRe[155] = SFRe[153] - SFRe[155];
	SFIm[155] = SFIm[153] - SFIm[155];
	SFRe[153] = RA;
	SFIm[153] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[156];
	I = SFIm[156];
	SFRe[156] = R * RF1 - I * IF1;
	SFIm[156] = R * IF1 + I * RF1;
	R = SFRe[158];
	I = SFIm[158];
	SFRe[158] = R * RF2 - I * IF2;
	SFIm[158] = R * IF2 + I * RF2;
	R = SFRe[158];
	I = SFIm[158];
	SFRe[158] = SFIm[156] - I;
	SFIm[158] = R - SFRe[156];
	SFRe[156] += R;
	SFIm[156] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[157];
	I = SFIm[157];
	SFRe[157] = R * RF1 - I * IF1;
	SFIm[157] = R * IF1 + I * RF1;
	R = SFRe[159];
	I = SFIm[159];
	SFRe[159] = R * RF2 - I * IF2;
	SFIm[159] = R * IF2 + I * RF2;
	R = SFRe[159];
	I = SFIm[159];
	SFRe[159] = SFIm[157] - I;
	SFIm[159] = R - SFRe[157];
	SFRe[157] += R;
	SFIm[157] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156));
	_mm_store_ps(SFRe + 156, _mm_sub_ps(_mm_load_ps(SFRe + 152), _mm_load_ps(SFRe + 156)));
	_mm_store_ps(SFIm + 156, _mm_sub_ps(_mm_load_ps(SFIm + 152), _mm_load_ps(SFIm + 156)));
	_mm_store_ps(SFRe + 152, mR);
	_mm_store_ps(SFIm + 152, mI);
	R = SFRe[150] + SFRe[151];
	I = SFIm[150] + SFIm[151];
	SFRe[151] = SFRe[150] - SFRe[151];
	SFIm[151] = SFIm[150] - SFIm[151];
	SFRe[150] = R;
	SFIm[150] = I;
	R = SFRe[148] + SFRe[149];
	I = SFIm[148] + SFIm[149];
	SFRe[149] = SFRe[148] - SFRe[149];
	SFIm[149] = SFIm[148] - SFIm[149];
	SFRe[148] = R;
	SFIm[148] = I;
	Re0 = SFRe[144]; Im0 = SFIm[144];
	Re1 = SFRe[145]; Im1 = SFIm[145];
	Re2 = SFRe[146]; Im2 = SFIm[146];
	Re3 = SFRe[147]; Im3 = SFIm[147];
	SFRe[144] = Re0 + Re1; SFIm[144] = Im0 + Im1;
	SFRe[145] = Re0 - Re1; SFIm[145] = Im0 - Im1;
	SFRe[146] = Re2 + Re3; SFIm[146] = Im2 + Im3;
	SFRe[147] = Im2 - Im3; SFIm[147] = Re3 - Re2;
	RA = SFRe[144] + SFRe[146];
	IA = SFIm[144] + SFIm[146];
	SFRe[146] = SFRe[144] - SFRe[146];
	SFIm[146] = SFIm[144] - SFIm[146];
	SFRe[144] = RA;
	SFIm[144] = IA;
	RA = SFRe[145] + SFRe[147];
	IA = SFIm[145] + SFIm[147];
	SFRe[147] = SFRe[145] - SFRe[147];
	SFIm[147] = SFIm[145] - SFIm[147];
	SFRe[145] = RA;
	SFIm[145] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[148];
	I = SFIm[148];
	SFRe[148] = R * RF1 - I * IF1;
	SFIm[148] = R * IF1 + I * RF1;
	R = SFRe[150];
	I = SFIm[150];
	SFRe[150] = R * RF2 - I * IF2;
	SFIm[150] = R * IF2 + I * RF2;
	R = SFRe[150];
	I = SFIm[150];
	SFRe[150] = SFIm[148] - I;
	SFIm[150] = R - SFRe[148];
	SFRe[148] += R;
	SFIm[148] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[149];
	I = SFIm[149];
	SFRe[149] = R * RF1 - I * IF1;
	SFIm[149] = R * IF1 + I * RF1;
	R = SFRe[151];
	I = SFIm[151];
	SFRe[151] = R * RF2 - I * IF2;
	SFIm[151] = R * IF2 + I * RF2;
	R = SFRe[151];
	I = SFIm[151];
	SFRe[151] = SFIm[149] - I;
	SFIm[151] = R - SFRe[149];
	SFRe[149] += R;
	SFIm[149] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148));
	_mm_store_ps(SFRe + 148, _mm_sub_ps(_mm_load_ps(SFRe + 144), _mm_load_ps(SFRe + 148)));
	_mm_store_ps(SFIm + 148, _mm_sub_ps(_mm_load_ps(SFIm + 144), _mm_load_ps(SFIm + 148)));
	_mm_store_ps(SFRe + 144, mR);
	_mm_store_ps(SFIm + 144, mI);
	Re0 = SFRe[140]; Im0 = SFIm[140];
	Re1 = SFRe[141]; Im1 = SFIm[141];
	Re2 = SFRe[142]; Im2 = SFIm[142];
	Re3 = SFRe[143]; Im3 = SFIm[143];
	SFRe[140] = Re0 + Re1; SFIm[140] = Im0 + Im1;
	SFRe[141] = Re0 - Re1; SFIm[141] = Im0 - Im1;
	SFRe[142] = Re2 + Re3; SFIm[142] = Im2 + Im3;
	SFRe[143] = Im2 - Im3; SFIm[143] = Re3 - Re2;
	RA = SFRe[140] + SFRe[142];
	IA = SFIm[140] + SFIm[142];
	SFRe[142] = SFRe[140] - SFRe[142];
	SFIm[142] = SFIm[140] - SFIm[142];
	SFRe[140] = RA;
	SFIm[140] = IA;
	RA = SFRe[141] + SFRe[143];
	IA = SFIm[141] + SFIm[143];
	SFRe[143] = SFRe[141] - SFRe[143];
	SFIm[143] = SFIm[141] - SFIm[143];
	SFRe[141] = RA;
	SFIm[141] = IA;
	Re0 = SFRe[136]; Im0 = SFIm[136];
	Re1 = SFRe[137]; Im1 = SFIm[137];
	Re2 = SFRe[138]; Im2 = SFIm[138];
	Re3 = SFRe[139]; Im3 = SFIm[139];
	SFRe[136] = Re0 + Re1; SFIm[136] = Im0 + Im1;
	SFRe[137] = Re0 - Re1; SFIm[137] = Im0 - Im1;
	SFRe[138] = Re2 + Re3; SFIm[138] = Im2 + Im3;
	SFRe[139] = Im2 - Im3; SFIm[139] = Re3 - Re2;
	RA = SFRe[136] + SFRe[138];
	IA = SFIm[136] + SFIm[138];
	SFRe[138] = SFRe[136] - SFRe[138];
	SFIm[138] = SFIm[136] - SFIm[138];
	SFRe[136] = RA;
	SFIm[136] = IA;
	RA = SFRe[137] + SFRe[139];
	IA = SFIm[137] + SFIm[139];
	SFRe[139] = SFRe[137] - SFRe[139];
	SFIm[139] = SFIm[137] - SFIm[139];
	SFRe[137] = RA;
	SFIm[137] = IA;
	R = SFRe[134] + SFRe[135];
	I = SFIm[134] + SFIm[135];
	SFRe[135] = SFRe[134] - SFRe[135];
	SFIm[135] = SFIm[134] - SFIm[135];
	SFRe[134] = R;
	SFIm[134] = I;
	R = SFRe[132] + SFRe[133];
	I = SFIm[132] + SFIm[133];
	SFRe[133] = SFRe[132] - SFRe[133];
	SFIm[133] = SFIm[132] - SFIm[133];
	SFRe[132] = R;
	SFIm[132] = I;
	Re0 = SFRe[128]; Im0 = SFIm[128];
	Re1 = SFRe[129]; Im1 = SFIm[129];
	Re2 = SFRe[130]; Im2 = SFIm[130];
	Re3 = SFRe[131]; Im3 = SFIm[131];
	SFRe[128] = Re0 + Re1; SFIm[128] = Im0 + Im1;
	SFRe[129] = Re0 - Re1; SFIm[129] = Im0 - Im1;
	SFRe[130] = Re2 + Re3; SFIm[130] = Im2 + Im3;
	SFRe[131] = Im2 - Im3; SFIm[131] = Re3 - Re2;
	RA = SFRe[128] + SFRe[130];
	IA = SFIm[128] + SFIm[130];
	SFRe[130] = SFRe[128] - SFRe[130];
	SFIm[130] = SFIm[128] - SFIm[130];
	SFRe[128] = RA;
	SFIm[128] = IA;
	RA = SFRe[129] + SFRe[131];
	IA = SFIm[129] + SFIm[131];
	SFRe[131] = SFRe[129] - SFRe[131];
	SFIm[131] = SFIm[129] - SFIm[131];
	SFRe[129] = RA;
	SFIm[129] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[132];
	I = SFIm[132];
	SFRe[132] = R * RF1 - I * IF1;
	SFIm[132] = R * IF1 + I * RF1;
	R = SFRe[134];
	I = SFIm[134];
	SFRe[134] = R * RF2 - I * IF2;
	SFIm[134] = R * IF2 + I * RF2;
	R = SFRe[134];
	I = SFIm[134];
	SFRe[134] = SFIm[132] - I;
	SFIm[134] = R - SFRe[132];
	SFRe[132] += R;
	SFIm[132] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[133];
	I = SFIm[133];
	SFRe[133] = R * RF1 - I * IF1;
	SFIm[133] = R * IF1 + I * RF1;
	R = SFRe[135];
	I = SFIm[135];
	SFRe[135] = R * RF2 - I * IF2;
	SFIm[135] = R * IF2 + I * RF2;
	R = SFRe[135];
	I = SFIm[135];
	SFRe[135] = SFIm[133] - I;
	SFIm[135] = R - SFRe[133];
	SFRe[133] += R;
	SFIm[133] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132));
	_mm_store_ps(SFRe + 132, _mm_sub_ps(_mm_load_ps(SFRe + 128), _mm_load_ps(SFRe + 132)));
	_mm_store_ps(SFIm + 132, _mm_sub_ps(_mm_load_ps(SFIm + 128), _mm_load_ps(SFIm + 132)));
	_mm_store_ps(SFRe + 128, mR);
	_mm_store_ps(SFIm + 128, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 136);
	mI = _mm_load_ps(SFIm + 136);
	_mm_store_ps(SFRe + 136, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 140, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 140);
	mI = _mm_load_ps(SFIm + 140);
	_mm_store_ps(SFRe + 140, _mm_sub_ps(_mm_load_ps(SFIm + 136), mI));
	_mm_store_ps(SFIm + 140, _mm_sub_ps(mR, _mm_load_ps(SFRe + 136)));
	_mm_store_ps(SFRe + 136, _mm_add_ps(_mm_load_ps(SFRe + 136), mR));
	_mm_store_ps(SFIm + 136, _mm_add_ps(_mm_load_ps(SFIm + 136), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 136));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 136));
	_mm256_store_ps(SFRe + 136, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 136)));
	_mm256_store_ps(SFIm + 136, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 136)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 144);
	m256I = _mm256_load_ps(SFIm + 144);
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 152);
	m256I = _mm256_load_ps(SFIm + 152);
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 152, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 152);
	m256I = _mm256_load_ps(SFIm + 152);
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), m256I));
	_mm256_store_ps(SFIm + 152, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFRe + 144, _mm256_add_ps(_mm256_load_ps(SFRe + 144), m256R));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_load_ps(SFIm + 144), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 144));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 144));
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFIm + 144, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 144)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 152));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 152));
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 152)));
	_mm256_store_ps(SFIm + 152, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 152)));
	_mm256_store_ps(SFRe + 136, m256R);
	_mm256_store_ps(SFIm + 136, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 160);
	m256I = _mm256_load_ps(SFIm + 160);
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 176);
	m256I = _mm256_load_ps(SFIm + 176);
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 176, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 176);
	m256I = _mm256_load_ps(SFIm + 176);
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), m256I));
	_mm256_store_ps(SFIm + 176, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFRe + 160, _mm256_add_ps(_mm256_load_ps(SFRe + 160), m256R));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_load_ps(SFIm + 160), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 168);
	m256I = _mm256_load_ps(SFIm + 168);
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 184);
	m256I = _mm256_load_ps(SFIm + 184);
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 184, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 184);
	m256I = _mm256_load_ps(SFIm + 184);
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 168), m256I));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFRe + 168, _mm256_add_ps(_mm256_load_ps(SFRe + 168), m256R));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_load_ps(SFIm + 168), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 160));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 160));
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFIm + 160, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 160)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 168));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 168));
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFIm + 168, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 168)));
	_mm256_store_ps(SFRe + 136, m256R);
	_mm256_store_ps(SFIm + 136, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 144), _mm256_load_ps(SFRe + 176));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 144), _mm256_load_ps(SFIm + 176));
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_load_ps(SFRe + 144), _mm256_load_ps(SFRe + 176)));
	_mm256_store_ps(SFIm + 176, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), _mm256_load_ps(SFIm + 176)));
	_mm256_store_ps(SFRe + 144, m256R);
	_mm256_store_ps(SFIm + 144, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 152), _mm256_load_ps(SFRe + 184));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 152), _mm256_load_ps(SFIm + 184));
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFRe + 152), _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 152), _mm256_load_ps(SFIm + 184)));
	_mm256_store_ps(SFRe + 152, m256R);
	_mm256_store_ps(SFIm + 152, m256I);
	R = SFRe[126] + SFRe[127];
	I = SFIm[126] + SFIm[127];
	SFRe[127] = SFRe[126] - SFRe[127];
	SFIm[127] = SFIm[126] - SFIm[127];
	SFRe[126] = R;
	SFIm[126] = I;
	R = SFRe[124] + SFRe[125];
	I = SFIm[124] + SFIm[125];
	SFRe[125] = SFRe[124] - SFRe[125];
	SFIm[125] = SFIm[124] - SFIm[125];
	SFRe[124] = R;
	SFIm[124] = I;
	Re0 = SFRe[120]; Im0 = SFIm[120];
	Re1 = SFRe[121]; Im1 = SFIm[121];
	Re2 = SFRe[122]; Im2 = SFIm[122];
	Re3 = SFRe[123]; Im3 = SFIm[123];
	SFRe[120] = Re0 + Re1; SFIm[120] = Im0 + Im1;
	SFRe[121] = Re0 - Re1; SFIm[121] = Im0 - Im1;
	SFRe[122] = Re2 + Re3; SFIm[122] = Im2 + Im3;
	SFRe[123] = Im2 - Im3; SFIm[123] = Re3 - Re2;
	RA = SFRe[120] + SFRe[122];
	IA = SFIm[120] + SFIm[122];
	SFRe[122] = SFRe[120] - SFRe[122];
	SFIm[122] = SFIm[120] - SFIm[122];
	SFRe[120] = RA;
	SFIm[120] = IA;
	RA = SFRe[121] + SFRe[123];
	IA = SFIm[121] + SFIm[123];
	SFRe[123] = SFRe[121] - SFRe[123];
	SFIm[123] = SFIm[121] - SFIm[123];
	SFRe[121] = RA;
	SFIm[121] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[124];
	I = SFIm[124];
	SFRe[124] = R * RF1 - I * IF1;
	SFIm[124] = R * IF1 + I * RF1;
	R = SFRe[126];
	I = SFIm[126];
	SFRe[126] = R * RF2 - I * IF2;
	SFIm[126] = R * IF2 + I * RF2;
	R = SFRe[126];
	I = SFIm[126];
	SFRe[126] = SFIm[124] - I;
	SFIm[126] = R - SFRe[124];
	SFRe[124] += R;
	SFIm[124] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[125];
	I = SFIm[125];
	SFRe[125] = R * RF1 - I * IF1;
	SFIm[125] = R * IF1 + I * RF1;
	R = SFRe[127];
	I = SFIm[127];
	SFRe[127] = R * RF2 - I * IF2;
	SFIm[127] = R * IF2 + I * RF2;
	R = SFRe[127];
	I = SFIm[127];
	SFRe[127] = SFIm[125] - I;
	SFIm[127] = R - SFRe[125];
	SFRe[125] += R;
	SFIm[125] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124));
	_mm_store_ps(SFRe + 124, _mm_sub_ps(_mm_load_ps(SFRe + 120), _mm_load_ps(SFRe + 124)));
	_mm_store_ps(SFIm + 124, _mm_sub_ps(_mm_load_ps(SFIm + 120), _mm_load_ps(SFIm + 124)));
	_mm_store_ps(SFRe + 120, mR);
	_mm_store_ps(SFIm + 120, mI);
	R = SFRe[118] + SFRe[119];
	I = SFIm[118] + SFIm[119];
	SFRe[119] = SFRe[118] - SFRe[119];
	SFIm[119] = SFIm[118] - SFIm[119];
	SFRe[118] = R;
	SFIm[118] = I;
	R = SFRe[116] + SFRe[117];
	I = SFIm[116] + SFIm[117];
	SFRe[117] = SFRe[116] - SFRe[117];
	SFIm[117] = SFIm[116] - SFIm[117];
	SFRe[116] = R;
	SFIm[116] = I;
	Re0 = SFRe[112]; Im0 = SFIm[112];
	Re1 = SFRe[113]; Im1 = SFIm[113];
	Re2 = SFRe[114]; Im2 = SFIm[114];
	Re3 = SFRe[115]; Im3 = SFIm[115];
	SFRe[112] = Re0 + Re1; SFIm[112] = Im0 + Im1;
	SFRe[113] = Re0 - Re1; SFIm[113] = Im0 - Im1;
	SFRe[114] = Re2 + Re3; SFIm[114] = Im2 + Im3;
	SFRe[115] = Im2 - Im3; SFIm[115] = Re3 - Re2;
	RA = SFRe[112] + SFRe[114];
	IA = SFIm[112] + SFIm[114];
	SFRe[114] = SFRe[112] - SFRe[114];
	SFIm[114] = SFIm[112] - SFIm[114];
	SFRe[112] = RA;
	SFIm[112] = IA;
	RA = SFRe[113] + SFRe[115];
	IA = SFIm[113] + SFIm[115];
	SFRe[115] = SFRe[113] - SFRe[115];
	SFIm[115] = SFIm[113] - SFIm[115];
	SFRe[113] = RA;
	SFIm[113] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[116];
	I = SFIm[116];
	SFRe[116] = R * RF1 - I * IF1;
	SFIm[116] = R * IF1 + I * RF1;
	R = SFRe[118];
	I = SFIm[118];
	SFRe[118] = R * RF2 - I * IF2;
	SFIm[118] = R * IF2 + I * RF2;
	R = SFRe[118];
	I = SFIm[118];
	SFRe[118] = SFIm[116] - I;
	SFIm[118] = R - SFRe[116];
	SFRe[116] += R;
	SFIm[116] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[117];
	I = SFIm[117];
	SFRe[117] = R * RF1 - I * IF1;
	SFIm[117] = R * IF1 + I * RF1;
	R = SFRe[119];
	I = SFIm[119];
	SFRe[119] = R * RF2 - I * IF2;
	SFIm[119] = R * IF2 + I * RF2;
	R = SFRe[119];
	I = SFIm[119];
	SFRe[119] = SFIm[117] - I;
	SFIm[119] = R - SFRe[117];
	SFRe[117] += R;
	SFIm[117] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116));
	_mm_store_ps(SFRe + 116, _mm_sub_ps(_mm_load_ps(SFRe + 112), _mm_load_ps(SFRe + 116)));
	_mm_store_ps(SFIm + 116, _mm_sub_ps(_mm_load_ps(SFIm + 112), _mm_load_ps(SFIm + 116)));
	_mm_store_ps(SFRe + 112, mR);
	_mm_store_ps(SFIm + 112, mI);
	Re0 = SFRe[108]; Im0 = SFIm[108];
	Re1 = SFRe[109]; Im1 = SFIm[109];
	Re2 = SFRe[110]; Im2 = SFIm[110];
	Re3 = SFRe[111]; Im3 = SFIm[111];
	SFRe[108] = Re0 + Re1; SFIm[108] = Im0 + Im1;
	SFRe[109] = Re0 - Re1; SFIm[109] = Im0 - Im1;
	SFRe[110] = Re2 + Re3; SFIm[110] = Im2 + Im3;
	SFRe[111] = Im2 - Im3; SFIm[111] = Re3 - Re2;
	RA = SFRe[108] + SFRe[110];
	IA = SFIm[108] + SFIm[110];
	SFRe[110] = SFRe[108] - SFRe[110];
	SFIm[110] = SFIm[108] - SFIm[110];
	SFRe[108] = RA;
	SFIm[108] = IA;
	RA = SFRe[109] + SFRe[111];
	IA = SFIm[109] + SFIm[111];
	SFRe[111] = SFRe[109] - SFRe[111];
	SFIm[111] = SFIm[109] - SFIm[111];
	SFRe[109] = RA;
	SFIm[109] = IA;
	Re0 = SFRe[104]; Im0 = SFIm[104];
	Re1 = SFRe[105]; Im1 = SFIm[105];
	Re2 = SFRe[106]; Im2 = SFIm[106];
	Re3 = SFRe[107]; Im3 = SFIm[107];
	SFRe[104] = Re0 + Re1; SFIm[104] = Im0 + Im1;
	SFRe[105] = Re0 - Re1; SFIm[105] = Im0 - Im1;
	SFRe[106] = Re2 + Re3; SFIm[106] = Im2 + Im3;
	SFRe[107] = Im2 - Im3; SFIm[107] = Re3 - Re2;
	RA = SFRe[104] + SFRe[106];
	IA = SFIm[104] + SFIm[106];
	SFRe[106] = SFRe[104] - SFRe[106];
	SFIm[106] = SFIm[104] - SFIm[106];
	SFRe[104] = RA;
	SFIm[104] = IA;
	RA = SFRe[105] + SFRe[107];
	IA = SFIm[105] + SFIm[107];
	SFRe[107] = SFRe[105] - SFRe[107];
	SFIm[107] = SFIm[105] - SFIm[107];
	SFRe[105] = RA;
	SFIm[105] = IA;
	R = SFRe[102] + SFRe[103];
	I = SFIm[102] + SFIm[103];
	SFRe[103] = SFRe[102] - SFRe[103];
	SFIm[103] = SFIm[102] - SFIm[103];
	SFRe[102] = R;
	SFIm[102] = I;
	R = SFRe[100] + SFRe[101];
	I = SFIm[100] + SFIm[101];
	SFRe[101] = SFRe[100] - SFRe[101];
	SFIm[101] = SFIm[100] - SFIm[101];
	SFRe[100] = R;
	SFIm[100] = I;
	Re0 = SFRe[96]; Im0 = SFIm[96];
	Re1 = SFRe[97]; Im1 = SFIm[97];
	Re2 = SFRe[98]; Im2 = SFIm[98];
	Re3 = SFRe[99]; Im3 = SFIm[99];
	SFRe[96] = Re0 + Re1; SFIm[96] = Im0 + Im1;
	SFRe[97] = Re0 - Re1; SFIm[97] = Im0 - Im1;
	SFRe[98] = Re2 + Re3; SFIm[98] = Im2 + Im3;
	SFRe[99] = Im2 - Im3; SFIm[99] = Re3 - Re2;
	RA = SFRe[96] + SFRe[98];
	IA = SFIm[96] + SFIm[98];
	SFRe[98] = SFRe[96] - SFRe[98];
	SFIm[98] = SFIm[96] - SFIm[98];
	SFRe[96] = RA;
	SFIm[96] = IA;
	RA = SFRe[97] + SFRe[99];
	IA = SFIm[97] + SFIm[99];
	SFRe[99] = SFRe[97] - SFRe[99];
	SFIm[99] = SFIm[97] - SFIm[99];
	SFRe[97] = RA;
	SFIm[97] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[100];
	I = SFIm[100];
	SFRe[100] = R * RF1 - I * IF1;
	SFIm[100] = R * IF1 + I * RF1;
	R = SFRe[102];
	I = SFIm[102];
	SFRe[102] = R * RF2 - I * IF2;
	SFIm[102] = R * IF2 + I * RF2;
	R = SFRe[102];
	I = SFIm[102];
	SFRe[102] = SFIm[100] - I;
	SFIm[102] = R - SFRe[100];
	SFRe[100] += R;
	SFIm[100] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[101];
	I = SFIm[101];
	SFRe[101] = R * RF1 - I * IF1;
	SFIm[101] = R * IF1 + I * RF1;
	R = SFRe[103];
	I = SFIm[103];
	SFRe[103] = R * RF2 - I * IF2;
	SFIm[103] = R * IF2 + I * RF2;
	R = SFRe[103];
	I = SFIm[103];
	SFRe[103] = SFIm[101] - I;
	SFIm[103] = R - SFRe[101];
	SFRe[101] += R;
	SFIm[101] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100));
	_mm_store_ps(SFRe + 100, _mm_sub_ps(_mm_load_ps(SFRe + 96), _mm_load_ps(SFRe + 100)));
	_mm_store_ps(SFIm + 100, _mm_sub_ps(_mm_load_ps(SFIm + 96), _mm_load_ps(SFIm + 100)));
	_mm_store_ps(SFRe + 96, mR);
	_mm_store_ps(SFIm + 96, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 104);
	mI = _mm_load_ps(SFIm + 104);
	_mm_store_ps(SFRe + 104, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 108, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 108);
	mI = _mm_load_ps(SFIm + 108);
	_mm_store_ps(SFRe + 108, _mm_sub_ps(_mm_load_ps(SFIm + 104), mI));
	_mm_store_ps(SFIm + 108, _mm_sub_ps(mR, _mm_load_ps(SFRe + 104)));
	_mm_store_ps(SFRe + 104, _mm_add_ps(_mm_load_ps(SFRe + 104), mR));
	_mm_store_ps(SFIm + 104, _mm_add_ps(_mm_load_ps(SFIm + 104), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 104));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 104));
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 104)));
	_mm256_store_ps(SFIm + 104, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 104)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 112);
	m256I = _mm256_load_ps(SFIm + 112);
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 112, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 120, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 112), m256I));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 112)));
	_mm256_store_ps(SFRe + 112, _mm256_add_ps(_mm256_load_ps(SFRe + 112), m256R));
	_mm256_store_ps(SFIm + 112, _mm256_add_ps(_mm256_load_ps(SFIm + 112), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 112));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 112));
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 112)));
	_mm256_store_ps(SFIm + 112, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 112)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 120));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 120));
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 120)));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 120)));
	_mm256_store_ps(SFRe + 104, m256R);
	_mm256_store_ps(SFIm + 104, m256I);
	R = SFRe[94] + SFRe[95];
	I = SFIm[94] + SFIm[95];
	SFRe[95] = SFRe[94] - SFRe[95];
	SFIm[95] = SFIm[94] - SFIm[95];
	SFRe[94] = R;
	SFIm[94] = I;
	R = SFRe[92] + SFRe[93];
	I = SFIm[92] + SFIm[93];
	SFRe[93] = SFRe[92] - SFRe[93];
	SFIm[93] = SFIm[92] - SFIm[93];
	SFRe[92] = R;
	SFIm[92] = I;
	Re0 = SFRe[88]; Im0 = SFIm[88];
	Re1 = SFRe[89]; Im1 = SFIm[89];
	Re2 = SFRe[90]; Im2 = SFIm[90];
	Re3 = SFRe[91]; Im3 = SFIm[91];
	SFRe[88] = Re0 + Re1; SFIm[88] = Im0 + Im1;
	SFRe[89] = Re0 - Re1; SFIm[89] = Im0 - Im1;
	SFRe[90] = Re2 + Re3; SFIm[90] = Im2 + Im3;
	SFRe[91] = Im2 - Im3; SFIm[91] = Re3 - Re2;
	RA = SFRe[88] + SFRe[90];
	IA = SFIm[88] + SFIm[90];
	SFRe[90] = SFRe[88] - SFRe[90];
	SFIm[90] = SFIm[88] - SFIm[90];
	SFRe[88] = RA;
	SFIm[88] = IA;
	RA = SFRe[89] + SFRe[91];
	IA = SFIm[89] + SFIm[91];
	SFRe[91] = SFRe[89] - SFRe[91];
	SFIm[91] = SFIm[89] - SFIm[91];
	SFRe[89] = RA;
	SFIm[89] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[92];
	I = SFIm[92];
	SFRe[92] = R * RF1 - I * IF1;
	SFIm[92] = R * IF1 + I * RF1;
	R = SFRe[94];
	I = SFIm[94];
	SFRe[94] = R * RF2 - I * IF2;
	SFIm[94] = R * IF2 + I * RF2;
	R = SFRe[94];
	I = SFIm[94];
	SFRe[94] = SFIm[92] - I;
	SFIm[94] = R - SFRe[92];
	SFRe[92] += R;
	SFIm[92] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[93];
	I = SFIm[93];
	SFRe[93] = R * RF1 - I * IF1;
	SFIm[93] = R * IF1 + I * RF1;
	R = SFRe[95];
	I = SFIm[95];
	SFRe[95] = R * RF2 - I * IF2;
	SFIm[95] = R * IF2 + I * RF2;
	R = SFRe[95];
	I = SFIm[95];
	SFRe[95] = SFIm[93] - I;
	SFIm[95] = R - SFRe[93];
	SFRe[93] += R;
	SFIm[93] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92));
	_mm_store_ps(SFRe + 92, _mm_sub_ps(_mm_load_ps(SFRe + 88), _mm_load_ps(SFRe + 92)));
	_mm_store_ps(SFIm + 92, _mm_sub_ps(_mm_load_ps(SFIm + 88), _mm_load_ps(SFIm + 92)));
	_mm_store_ps(SFRe + 88, mR);
	_mm_store_ps(SFIm + 88, mI);
	R = SFRe[86] + SFRe[87];
	I = SFIm[86] + SFIm[87];
	SFRe[87] = SFRe[86] - SFRe[87];
	SFIm[87] = SFIm[86] - SFIm[87];
	SFRe[86] = R;
	SFIm[86] = I;
	R = SFRe[84] + SFRe[85];
	I = SFIm[84] + SFIm[85];
	SFRe[85] = SFRe[84] - SFRe[85];
	SFIm[85] = SFIm[84] - SFIm[85];
	SFRe[84] = R;
	SFIm[84] = I;
	Re0 = SFRe[80]; Im0 = SFIm[80];
	Re1 = SFRe[81]; Im1 = SFIm[81];
	Re2 = SFRe[82]; Im2 = SFIm[82];
	Re3 = SFRe[83]; Im3 = SFIm[83];
	SFRe[80] = Re0 + Re1; SFIm[80] = Im0 + Im1;
	SFRe[81] = Re0 - Re1; SFIm[81] = Im0 - Im1;
	SFRe[82] = Re2 + Re3; SFIm[82] = Im2 + Im3;
	SFRe[83] = Im2 - Im3; SFIm[83] = Re3 - Re2;
	RA = SFRe[80] + SFRe[82];
	IA = SFIm[80] + SFIm[82];
	SFRe[82] = SFRe[80] - SFRe[82];
	SFIm[82] = SFIm[80] - SFIm[82];
	SFRe[80] = RA;
	SFIm[80] = IA;
	RA = SFRe[81] + SFRe[83];
	IA = SFIm[81] + SFIm[83];
	SFRe[83] = SFRe[81] - SFRe[83];
	SFIm[83] = SFIm[81] - SFIm[83];
	SFRe[81] = RA;
	SFIm[81] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[84];
	I = SFIm[84];
	SFRe[84] = R * RF1 - I * IF1;
	SFIm[84] = R * IF1 + I * RF1;
	R = SFRe[86];
	I = SFIm[86];
	SFRe[86] = R * RF2 - I * IF2;
	SFIm[86] = R * IF2 + I * RF2;
	R = SFRe[86];
	I = SFIm[86];
	SFRe[86] = SFIm[84] - I;
	SFIm[86] = R - SFRe[84];
	SFRe[84] += R;
	SFIm[84] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[85];
	I = SFIm[85];
	SFRe[85] = R * RF1 - I * IF1;
	SFIm[85] = R * IF1 + I * RF1;
	R = SFRe[87];
	I = SFIm[87];
	SFRe[87] = R * RF2 - I * IF2;
	SFIm[87] = R * IF2 + I * RF2;
	R = SFRe[87];
	I = SFIm[87];
	SFRe[87] = SFIm[85] - I;
	SFIm[87] = R - SFRe[85];
	SFRe[85] += R;
	SFIm[85] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84));
	_mm_store_ps(SFRe + 84, _mm_sub_ps(_mm_load_ps(SFRe + 80), _mm_load_ps(SFRe + 84)));
	_mm_store_ps(SFIm + 84, _mm_sub_ps(_mm_load_ps(SFIm + 80), _mm_load_ps(SFIm + 84)));
	_mm_store_ps(SFRe + 80, mR);
	_mm_store_ps(SFIm + 80, mI);
	Re0 = SFRe[76]; Im0 = SFIm[76];
	Re1 = SFRe[77]; Im1 = SFIm[77];
	Re2 = SFRe[78]; Im2 = SFIm[78];
	Re3 = SFRe[79]; Im3 = SFIm[79];
	SFRe[76] = Re0 + Re1; SFIm[76] = Im0 + Im1;
	SFRe[77] = Re0 - Re1; SFIm[77] = Im0 - Im1;
	SFRe[78] = Re2 + Re3; SFIm[78] = Im2 + Im3;
	SFRe[79] = Im2 - Im3; SFIm[79] = Re3 - Re2;
	RA = SFRe[76] + SFRe[78];
	IA = SFIm[76] + SFIm[78];
	SFRe[78] = SFRe[76] - SFRe[78];
	SFIm[78] = SFIm[76] - SFIm[78];
	SFRe[76] = RA;
	SFIm[76] = IA;
	RA = SFRe[77] + SFRe[79];
	IA = SFIm[77] + SFIm[79];
	SFRe[79] = SFRe[77] - SFRe[79];
	SFIm[79] = SFIm[77] - SFIm[79];
	SFRe[77] = RA;
	SFIm[77] = IA;
	Re0 = SFRe[72]; Im0 = SFIm[72];
	Re1 = SFRe[73]; Im1 = SFIm[73];
	Re2 = SFRe[74]; Im2 = SFIm[74];
	Re3 = SFRe[75]; Im3 = SFIm[75];
	SFRe[72] = Re0 + Re1; SFIm[72] = Im0 + Im1;
	SFRe[73] = Re0 - Re1; SFIm[73] = Im0 - Im1;
	SFRe[74] = Re2 + Re3; SFIm[74] = Im2 + Im3;
	SFRe[75] = Im2 - Im3; SFIm[75] = Re3 - Re2;
	RA = SFRe[72] + SFRe[74];
	IA = SFIm[72] + SFIm[74];
	SFRe[74] = SFRe[72] - SFRe[74];
	SFIm[74] = SFIm[72] - SFIm[74];
	SFRe[72] = RA;
	SFIm[72] = IA;
	RA = SFRe[73] + SFRe[75];
	IA = SFIm[73] + SFIm[75];
	SFRe[75] = SFRe[73] - SFRe[75];
	SFIm[75] = SFIm[73] - SFIm[75];
	SFRe[73] = RA;
	SFIm[73] = IA;
	R = SFRe[70] + SFRe[71];
	I = SFIm[70] + SFIm[71];
	SFRe[71] = SFRe[70] - SFRe[71];
	SFIm[71] = SFIm[70] - SFIm[71];
	SFRe[70] = R;
	SFIm[70] = I;
	R = SFRe[68] + SFRe[69];
	I = SFIm[68] + SFIm[69];
	SFRe[69] = SFRe[68] - SFRe[69];
	SFIm[69] = SFIm[68] - SFIm[69];
	SFRe[68] = R;
	SFIm[68] = I;
	Re0 = SFRe[64]; Im0 = SFIm[64];
	Re1 = SFRe[65]; Im1 = SFIm[65];
	Re2 = SFRe[66]; Im2 = SFIm[66];
	Re3 = SFRe[67]; Im3 = SFIm[67];
	SFRe[64] = Re0 + Re1; SFIm[64] = Im0 + Im1;
	SFRe[65] = Re0 - Re1; SFIm[65] = Im0 - Im1;
	SFRe[66] = Re2 + Re3; SFIm[66] = Im2 + Im3;
	SFRe[67] = Im2 - Im3; SFIm[67] = Re3 - Re2;
	RA = SFRe[64] + SFRe[66];
	IA = SFIm[64] + SFIm[66];
	SFRe[66] = SFRe[64] - SFRe[66];
	SFIm[66] = SFIm[64] - SFIm[66];
	SFRe[64] = RA;
	SFIm[64] = IA;
	RA = SFRe[65] + SFRe[67];
	IA = SFIm[65] + SFIm[67];
	SFRe[67] = SFRe[65] - SFRe[67];
	SFIm[67] = SFIm[65] - SFIm[67];
	SFRe[65] = RA;
	SFIm[65] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[68];
	I = SFIm[68];
	SFRe[68] = R * RF1 - I * IF1;
	SFIm[68] = R * IF1 + I * RF1;
	R = SFRe[70];
	I = SFIm[70];
	SFRe[70] = R * RF2 - I * IF2;
	SFIm[70] = R * IF2 + I * RF2;
	R = SFRe[70];
	I = SFIm[70];
	SFRe[70] = SFIm[68] - I;
	SFIm[70] = R - SFRe[68];
	SFRe[68] += R;
	SFIm[68] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[69];
	I = SFIm[69];
	SFRe[69] = R * RF1 - I * IF1;
	SFIm[69] = R * IF1 + I * RF1;
	R = SFRe[71];
	I = SFIm[71];
	SFRe[71] = R * RF2 - I * IF2;
	SFIm[71] = R * IF2 + I * RF2;
	R = SFRe[71];
	I = SFIm[71];
	SFRe[71] = SFIm[69] - I;
	SFIm[71] = R - SFRe[69];
	SFRe[69] += R;
	SFIm[69] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68));
	_mm_store_ps(SFRe + 68, _mm_sub_ps(_mm_load_ps(SFRe + 64), _mm_load_ps(SFRe + 68)));
	_mm_store_ps(SFIm + 68, _mm_sub_ps(_mm_load_ps(SFIm + 64), _mm_load_ps(SFIm + 68)));
	_mm_store_ps(SFRe + 64, mR);
	_mm_store_ps(SFIm + 64, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 72);
	mI = _mm_load_ps(SFIm + 72);
	_mm_store_ps(SFRe + 72, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 76, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 76);
	mI = _mm_load_ps(SFIm + 76);
	_mm_store_ps(SFRe + 76, _mm_sub_ps(_mm_load_ps(SFIm + 72), mI));
	_mm_store_ps(SFIm + 76, _mm_sub_ps(mR, _mm_load_ps(SFRe + 72)));
	_mm_store_ps(SFRe + 72, _mm_add_ps(_mm_load_ps(SFRe + 72), mR));
	_mm_store_ps(SFIm + 72, _mm_add_ps(_mm_load_ps(SFIm + 72), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 72));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 72));
	_mm256_store_ps(SFRe + 72, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 72)));
	_mm256_store_ps(SFIm + 72, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 72)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 80);
	m256I = _mm256_load_ps(SFIm + 80);
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 88);
	m256I = _mm256_load_ps(SFIm + 88);
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 88, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 88);
	m256I = _mm256_load_ps(SFIm + 88);
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), m256I));
	_mm256_store_ps(SFIm + 88, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFRe + 80, _mm256_add_ps(_mm256_load_ps(SFRe + 80), m256R));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_load_ps(SFIm + 80), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 80));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 80));
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFIm + 80, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 80)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 88));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 88));
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 88)));
	_mm256_store_ps(SFIm + 88, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 88)));
	_mm256_store_ps(SFRe + 72, m256R);
	_mm256_store_ps(SFIm + 72, m256I);
	Re0 = SFRe[60]; Im0 = SFIm[60];
	Re1 = SFRe[61]; Im1 = SFIm[61];
	Re2 = SFRe[62]; Im2 = SFIm[62];
	Re3 = SFRe[63]; Im3 = SFIm[63];
	SFRe[60] = Re0 + Re1; SFIm[60] = Im0 + Im1;
	SFRe[61] = Re0 - Re1; SFIm[61] = Im0 - Im1;
	SFRe[62] = Re2 + Re3; SFIm[62] = Im2 + Im3;
	SFRe[63] = Im2 - Im3; SFIm[63] = Re3 - Re2;
	RA = SFRe[60] + SFRe[62];
	IA = SFIm[60] + SFIm[62];
	SFRe[62] = SFRe[60] - SFRe[62];
	SFIm[62] = SFIm[60] - SFIm[62];
	SFRe[60] = RA;
	SFIm[60] = IA;
	RA = SFRe[61] + SFRe[63];
	IA = SFIm[61] + SFIm[63];
	SFRe[63] = SFRe[61] - SFRe[63];
	SFIm[63] = SFIm[61] - SFIm[63];
	SFRe[61] = RA;
	SFIm[61] = IA;
	Re0 = SFRe[56]; Im0 = SFIm[56];
	Re1 = SFRe[57]; Im1 = SFIm[57];
	Re2 = SFRe[58]; Im2 = SFIm[58];
	Re3 = SFRe[59]; Im3 = SFIm[59];
	SFRe[56] = Re0 + Re1; SFIm[56] = Im0 + Im1;
	SFRe[57] = Re0 - Re1; SFIm[57] = Im0 - Im1;
	SFRe[58] = Re2 + Re3; SFIm[58] = Im2 + Im3;
	SFRe[59] = Im2 - Im3; SFIm[59] = Re3 - Re2;
	RA = SFRe[56] + SFRe[58];
	IA = SFIm[56] + SFIm[58];
	SFRe[58] = SFRe[56] - SFRe[58];
	SFIm[58] = SFIm[56] - SFIm[58];
	SFRe[56] = RA;
	SFIm[56] = IA;
	RA = SFRe[57] + SFRe[59];
	IA = SFIm[57] + SFIm[59];
	SFRe[59] = SFRe[57] - SFRe[59];
	SFIm[59] = SFIm[57] - SFIm[59];
	SFRe[57] = RA;
	SFIm[57] = IA;
	R = SFRe[54] + SFRe[55];
	I = SFIm[54] + SFIm[55];
	SFRe[55] = SFRe[54] - SFRe[55];
	SFIm[55] = SFIm[54] - SFIm[55];
	SFRe[54] = R;
	SFIm[54] = I;
	R = SFRe[52] + SFRe[53];
	I = SFIm[52] + SFIm[53];
	SFRe[53] = SFRe[52] - SFRe[53];
	SFIm[53] = SFIm[52] - SFIm[53];
	SFRe[52] = R;
	SFIm[52] = I;
	Re0 = SFRe[48]; Im0 = SFIm[48];
	Re1 = SFRe[49]; Im1 = SFIm[49];
	Re2 = SFRe[50]; Im2 = SFIm[50];
	Re3 = SFRe[51]; Im3 = SFIm[51];
	SFRe[48] = Re0 + Re1; SFIm[48] = Im0 + Im1;
	SFRe[49] = Re0 - Re1; SFIm[49] = Im0 - Im1;
	SFRe[50] = Re2 + Re3; SFIm[50] = Im2 + Im3;
	SFRe[51] = Im2 - Im3; SFIm[51] = Re3 - Re2;
	RA = SFRe[48] + SFRe[50];
	IA = SFIm[48] + SFIm[50];
	SFRe[50] = SFRe[48] - SFRe[50];
	SFIm[50] = SFIm[48] - SFIm[50];
	SFRe[48] = RA;
	SFIm[48] = IA;
	RA = SFRe[49] + SFRe[51];
	IA = SFIm[49] + SFIm[51];
	SFRe[51] = SFRe[49] - SFRe[51];
	SFIm[51] = SFIm[49] - SFIm[51];
	SFRe[49] = RA;
	SFIm[49] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[52];
	I = SFIm[52];
	SFRe[52] = R * RF1 - I * IF1;
	SFIm[52] = R * IF1 + I * RF1;
	R = SFRe[54];
	I = SFIm[54];
	SFRe[54] = R * RF2 - I * IF2;
	SFIm[54] = R * IF2 + I * RF2;
	R = SFRe[54];
	I = SFIm[54];
	SFRe[54] = SFIm[52] - I;
	SFIm[54] = R - SFRe[52];
	SFRe[52] += R;
	SFIm[52] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[53];
	I = SFIm[53];
	SFRe[53] = R * RF1 - I * IF1;
	SFIm[53] = R * IF1 + I * RF1;
	R = SFRe[55];
	I = SFIm[55];
	SFRe[55] = R * RF2 - I * IF2;
	SFIm[55] = R * IF2 + I * RF2;
	R = SFRe[55];
	I = SFIm[55];
	SFRe[55] = SFIm[53] - I;
	SFIm[55] = R - SFRe[53];
	SFRe[53] += R;
	SFIm[53] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52));
	_mm_store_ps(SFRe + 52, _mm_sub_ps(_mm_load_ps(SFRe + 48), _mm_load_ps(SFRe + 52)));
	_mm_store_ps(SFIm + 52, _mm_sub_ps(_mm_load_ps(SFIm + 48), _mm_load_ps(SFIm + 52)));
	_mm_store_ps(SFRe + 48, mR);
	_mm_store_ps(SFIm + 48, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 56);
	mI = _mm_load_ps(SFIm + 56);
	_mm_store_ps(SFRe + 56, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 60, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 60);
	mI = _mm_load_ps(SFIm + 60);
	_mm_store_ps(SFRe + 60, _mm_sub_ps(_mm_load_ps(SFIm + 56), mI));
	_mm_store_ps(SFIm + 60, _mm_sub_ps(mR, _mm_load_ps(SFRe + 56)));
	_mm_store_ps(SFRe + 56, _mm_add_ps(_mm_load_ps(SFRe + 56), mR));
	_mm_store_ps(SFIm + 56, _mm_add_ps(_mm_load_ps(SFIm + 56), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 56));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 56));
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 56)));
	_mm256_store_ps(SFIm + 56, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 56)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	Re0 = SFRe[44]; Im0 = SFIm[44];
	Re1 = SFRe[45]; Im1 = SFIm[45];
	Re2 = SFRe[46]; Im2 = SFIm[46];
	Re3 = SFRe[47]; Im3 = SFIm[47];
	SFRe[44] = Re0 + Re1; SFIm[44] = Im0 + Im1;
	SFRe[45] = Re0 - Re1; SFIm[45] = Im0 - Im1;
	SFRe[46] = Re2 + Re3; SFIm[46] = Im2 + Im3;
	SFRe[47] = Im2 - Im3; SFIm[47] = Re3 - Re2;
	RA = SFRe[44] + SFRe[46];
	IA = SFIm[44] + SFIm[46];
	SFRe[46] = SFRe[44] - SFRe[46];
	SFIm[46] = SFIm[44] - SFIm[46];
	SFRe[44] = RA;
	SFIm[44] = IA;
	RA = SFRe[45] + SFRe[47];
	IA = SFIm[45] + SFIm[47];
	SFRe[47] = SFRe[45] - SFRe[47];
	SFIm[47] = SFIm[45] - SFIm[47];
	SFRe[45] = RA;
	SFIm[45] = IA;
	Re0 = SFRe[40]; Im0 = SFIm[40];
	Re1 = SFRe[41]; Im1 = SFIm[41];
	Re2 = SFRe[42]; Im2 = SFIm[42];
	Re3 = SFRe[43]; Im3 = SFIm[43];
	SFRe[40] = Re0 + Re1; SFIm[40] = Im0 + Im1;
	SFRe[41] = Re0 - Re1; SFIm[41] = Im0 - Im1;
	SFRe[42] = Re2 + Re3; SFIm[42] = Im2 + Im3;
	SFRe[43] = Im2 - Im3; SFIm[43] = Re3 - Re2;
	RA = SFRe[40] + SFRe[42];
	IA = SFIm[40] + SFIm[42];
	SFRe[42] = SFRe[40] - SFRe[42];
	SFIm[42] = SFIm[40] - SFIm[42];
	SFRe[40] = RA;
	SFIm[40] = IA;
	RA = SFRe[41] + SFRe[43];
	IA = SFIm[41] + SFIm[43];
	SFRe[43] = SFRe[41] - SFRe[43];
	SFIm[43] = SFIm[41] - SFIm[43];
	SFRe[41] = RA;
	SFIm[41] = IA;
	R = SFRe[38] + SFRe[39];
	I = SFIm[38] + SFIm[39];
	SFRe[39] = SFRe[38] - SFRe[39];
	SFIm[39] = SFIm[38] - SFIm[39];
	SFRe[38] = R;
	SFIm[38] = I;
	R = SFRe[36] + SFRe[37];
	I = SFIm[36] + SFIm[37];
	SFRe[37] = SFRe[36] - SFRe[37];
	SFIm[37] = SFIm[36] - SFIm[37];
	SFRe[36] = R;
	SFIm[36] = I;
	Re0 = SFRe[32]; Im0 = SFIm[32];
	Re1 = SFRe[33]; Im1 = SFIm[33];
	Re2 = SFRe[34]; Im2 = SFIm[34];
	Re3 = SFRe[35]; Im3 = SFIm[35];
	SFRe[32] = Re0 + Re1; SFIm[32] = Im0 + Im1;
	SFRe[33] = Re0 - Re1; SFIm[33] = Im0 - Im1;
	SFRe[34] = Re2 + Re3; SFIm[34] = Im2 + Im3;
	SFRe[35] = Im2 - Im3; SFIm[35] = Re3 - Re2;
	RA = SFRe[32] + SFRe[34];
	IA = SFIm[32] + SFIm[34];
	SFRe[34] = SFRe[32] - SFRe[34];
	SFIm[34] = SFIm[32] - SFIm[34];
	SFRe[32] = RA;
	SFIm[32] = IA;
	RA = SFRe[33] + SFRe[35];
	IA = SFIm[33] + SFIm[35];
	SFRe[35] = SFRe[33] - SFRe[35];
	SFIm[35] = SFIm[33] - SFIm[35];
	SFRe[33] = RA;
	SFIm[33] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[36];
	I = SFIm[36];
	SFRe[36] = R * RF1 - I * IF1;
	SFIm[36] = R * IF1 + I * RF1;
	R = SFRe[38];
	I = SFIm[38];
	SFRe[38] = R * RF2 - I * IF2;
	SFIm[38] = R * IF2 + I * RF2;
	R = SFRe[38];
	I = SFIm[38];
	SFRe[38] = SFIm[36] - I;
	SFIm[38] = R - SFRe[36];
	SFRe[36] += R;
	SFIm[36] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[37];
	I = SFIm[37];
	SFRe[37] = R * RF1 - I * IF1;
	SFIm[37] = R * IF1 + I * RF1;
	R = SFRe[39];
	I = SFIm[39];
	SFRe[39] = R * RF2 - I * IF2;
	SFIm[39] = R * IF2 + I * RF2;
	R = SFRe[39];
	I = SFIm[39];
	SFRe[39] = SFIm[37] - I;
	SFIm[39] = R - SFRe[37];
	SFRe[37] += R;
	SFIm[37] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36));
	_mm_store_ps(SFRe + 36, _mm_sub_ps(_mm_load_ps(SFRe + 32), _mm_load_ps(SFRe + 36)));
	_mm_store_ps(SFIm + 36, _mm_sub_ps(_mm_load_ps(SFIm + 32), _mm_load_ps(SFIm + 36)));
	_mm_store_ps(SFRe + 32, mR);
	_mm_store_ps(SFIm + 32, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 40);
	mI = _mm_load_ps(SFIm + 40);
	_mm_store_ps(SFRe + 40, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 44, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 44);
	mI = _mm_load_ps(SFIm + 44);
	_mm_store_ps(SFRe + 44, _mm_sub_ps(_mm_load_ps(SFIm + 40), mI));
	_mm_store_ps(SFIm + 44, _mm_sub_ps(mR, _mm_load_ps(SFRe + 40)));
	_mm_store_ps(SFRe + 40, _mm_add_ps(_mm_load_ps(SFRe + 40), mR));
	_mm_store_ps(SFIm + 40, _mm_add_ps(_mm_load_ps(SFIm + 40), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 40));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 40));
	_mm256_store_ps(SFRe + 40, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 40)));
	_mm256_store_ps(SFIm + 40, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 40)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	R = SFRe[30] + SFRe[31];
	I = SFIm[30] + SFIm[31];
	SFRe[31] = SFRe[30] - SFRe[31];
	SFIm[31] = SFIm[30] - SFIm[31];
	SFRe[30] = R;
	SFIm[30] = I;
	R = SFRe[28] + SFRe[29];
	I = SFIm[28] + SFIm[29];
	SFRe[29] = SFRe[28] - SFRe[29];
	SFIm[29] = SFIm[28] - SFIm[29];
	SFRe[28] = R;
	SFIm[28] = I;
	Re0 = SFRe[24]; Im0 = SFIm[24];
	Re1 = SFRe[25]; Im1 = SFIm[25];
	Re2 = SFRe[26]; Im2 = SFIm[26];
	Re3 = SFRe[27]; Im3 = SFIm[27];
	SFRe[24] = Re0 + Re1; SFIm[24] = Im0 + Im1;
	SFRe[25] = Re0 - Re1; SFIm[25] = Im0 - Im1;
	SFRe[26] = Re2 + Re3; SFIm[26] = Im2 + Im3;
	SFRe[27] = Im2 - Im3; SFIm[27] = Re3 - Re2;
	RA = SFRe[24] + SFRe[26];
	IA = SFIm[24] + SFIm[26];
	SFRe[26] = SFRe[24] - SFRe[26];
	SFIm[26] = SFIm[24] - SFIm[26];
	SFRe[24] = RA;
	SFIm[24] = IA;
	RA = SFRe[25] + SFRe[27];
	IA = SFIm[25] + SFIm[27];
	SFRe[27] = SFRe[25] - SFRe[27];
	SFIm[27] = SFIm[25] - SFIm[27];
	SFRe[25] = RA;
	SFIm[25] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[28];
	I = SFIm[28];
	SFRe[28] = R * RF1 - I * IF1;
	SFIm[28] = R * IF1 + I * RF1;
	R = SFRe[30];
	I = SFIm[30];
	SFRe[30] = R * RF2 - I * IF2;
	SFIm[30] = R * IF2 + I * RF2;
	R = SFRe[30];
	I = SFIm[30];
	SFRe[30] = SFIm[28] - I;
	SFIm[30] = R - SFRe[28];
	SFRe[28] += R;
	SFIm[28] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[29];
	I = SFIm[29];
	SFRe[29] = R * RF1 - I * IF1;
	SFIm[29] = R * IF1 + I * RF1;
	R = SFRe[31];
	I = SFIm[31];
	SFRe[31] = R * RF2 - I * IF2;
	SFIm[31] = R * IF2 + I * RF2;
	R = SFRe[31];
	I = SFIm[31];
	SFRe[31] = SFIm[29] - I;
	SFIm[31] = R - SFRe[29];
	SFRe[29] += R;
	SFIm[29] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28));
	_mm_store_ps(SFRe + 28, _mm_sub_ps(_mm_load_ps(SFRe + 24), _mm_load_ps(SFRe + 28)));
	_mm_store_ps(SFIm + 28, _mm_sub_ps(_mm_load_ps(SFIm + 24), _mm_load_ps(SFIm + 28)));
	_mm_store_ps(SFRe + 24, mR);
	_mm_store_ps(SFIm + 24, mI);
	R = SFRe[22] + SFRe[23];
	I = SFIm[22] + SFIm[23];
	SFRe[23] = SFRe[22] - SFRe[23];
	SFIm[23] = SFIm[22] - SFIm[23];
	SFRe[22] = R;
	SFIm[22] = I;
	R = SFRe[20] + SFRe[21];
	I = SFIm[20] + SFIm[21];
	SFRe[21] = SFRe[20] - SFRe[21];
	SFIm[21] = SFIm[20] - SFIm[21];
	SFRe[20] = R;
	SFIm[20] = I;
	Re0 = SFRe[16]; Im0 = SFIm[16];
	Re1 = SFRe[17]; Im1 = SFIm[17];
	Re2 = SFRe[18]; Im2 = SFIm[18];
	Re3 = SFRe[19]; Im3 = SFIm[19];
	SFRe[16] = Re0 + Re1; SFIm[16] = Im0 + Im1;
	SFRe[17] = Re0 - Re1; SFIm[17] = Im0 - Im1;
	SFRe[18] = Re2 + Re3; SFIm[18] = Im2 + Im3;
	SFRe[19] = Im2 - Im3; SFIm[19] = Re3 - Re2;
	RA = SFRe[16] + SFRe[18];
	IA = SFIm[16] + SFIm[18];
	SFRe[18] = SFRe[16] - SFRe[18];
	SFIm[18] = SFIm[16] - SFIm[18];
	SFRe[16] = RA;
	SFIm[16] = IA;
	RA = SFRe[17] + SFRe[19];
	IA = SFIm[17] + SFIm[19];
	SFRe[19] = SFRe[17] - SFRe[19];
	SFIm[19] = SFIm[17] - SFIm[19];
	SFRe[17] = RA;
	SFIm[17] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[20];
	I = SFIm[20];
	SFRe[20] = R * RF1 - I * IF1;
	SFIm[20] = R * IF1 + I * RF1;
	R = SFRe[22];
	I = SFIm[22];
	SFRe[22] = R * RF2 - I * IF2;
	SFIm[22] = R * IF2 + I * RF2;
	R = SFRe[22];
	I = SFIm[22];
	SFRe[22] = SFIm[20] - I;
	SFIm[22] = R - SFRe[20];
	SFRe[20] += R;
	SFIm[20] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[21];
	I = SFIm[21];
	SFRe[21] = R * RF1 - I * IF1;
	SFIm[21] = R * IF1 + I * RF1;
	R = SFRe[23];
	I = SFIm[23];
	SFRe[23] = R * RF2 - I * IF2;
	SFIm[23] = R * IF2 + I * RF2;
	R = SFRe[23];
	I = SFIm[23];
	SFRe[23] = SFIm[21] - I;
	SFIm[23] = R - SFRe[21];
	SFRe[21] += R;
	SFIm[21] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20));
	_mm_store_ps(SFRe + 20, _mm_sub_ps(_mm_load_ps(SFRe + 16), _mm_load_ps(SFRe + 20)));
	_mm_store_ps(SFIm + 20, _mm_sub_ps(_mm_load_ps(SFIm + 16), _mm_load_ps(SFIm + 20)));
	_mm_store_ps(SFRe + 16, mR);
	_mm_store_ps(SFIm + 16, mI);
	Re0 = SFRe[12]; Im0 = SFIm[12];
	Re1 = SFRe[13]; Im1 = SFIm[13];
	Re2 = SFRe[14]; Im2 = SFIm[14];
	Re3 = SFRe[15]; Im3 = SFIm[15];
	SFRe[12] = Re0 + Re1; SFIm[12] = Im0 + Im1;
	SFRe[13] = Re0 - Re1; SFIm[13] = Im0 - Im1;
	SFRe[14] = Re2 + Re3; SFIm[14] = Im2 + Im3;
	SFRe[15] = Im2 - Im3; SFIm[15] = Re3 - Re2;
	RA = SFRe[12] + SFRe[14];
	IA = SFIm[12] + SFIm[14];
	SFRe[14] = SFRe[12] - SFRe[14];
	SFIm[14] = SFIm[12] - SFIm[14];
	SFRe[12] = RA;
	SFIm[12] = IA;
	RA = SFRe[13] + SFRe[15];
	IA = SFIm[13] + SFIm[15];
	SFRe[15] = SFRe[13] - SFRe[15];
	SFIm[15] = SFIm[13] - SFIm[15];
	SFRe[13] = RA;
	SFIm[13] = IA;
	Re0 = SFRe[8]; Im0 = SFIm[8];
	Re1 = SFRe[9]; Im1 = SFIm[9];
	Re2 = SFRe[10]; Im2 = SFIm[10];
	Re3 = SFRe[11]; Im3 = SFIm[11];
	SFRe[8] = Re0 + Re1; SFIm[8] = Im0 + Im1;
	SFRe[9] = Re0 - Re1; SFIm[9] = Im0 - Im1;
	SFRe[10] = Re2 + Re3; SFIm[10] = Im2 + Im3;
	SFRe[11] = Im2 - Im3; SFIm[11] = Re3 - Re2;
	RA = SFRe[8] + SFRe[10];
	IA = SFIm[8] + SFIm[10];
	SFRe[10] = SFRe[8] - SFRe[10];
	SFIm[10] = SFIm[8] - SFIm[10];
	SFRe[8] = RA;
	SFIm[8] = IA;
	RA = SFRe[9] + SFRe[11];
	IA = SFIm[9] + SFIm[11];
	SFRe[11] = SFRe[9] - SFRe[11];
	SFIm[11] = SFIm[9] - SFIm[11];
	SFRe[9] = RA;
	SFIm[9] = IA;
	R = SFRe[6] + SFRe[7];
	I = SFIm[6] + SFIm[7];
	SFRe[7] = SFRe[6] - SFRe[7];
	SFIm[7] = SFIm[6] - SFIm[7];
	SFRe[6] = R;
	SFIm[6] = I;
	R = SFRe[4] + SFRe[5];
	I = SFIm[4] + SFIm[5];
	SFRe[5] = SFRe[4] - SFRe[5];
	SFIm[5] = SFIm[4] - SFIm[5];
	SFRe[4] = R;
	SFIm[4] = I;
	Re0 = SFRe[0]; Im0 = SFIm[0];
	Re1 = SFRe[1]; Im1 = SFIm[1];
	Re2 = SFRe[2]; Im2 = SFIm[2];
	Re3 = SFRe[3]; Im3 = SFIm[3];
	SFRe[0] = Re0 + Re1; SFIm[0] = Im0 + Im1;
	SFRe[1] = Re0 - Re1; SFIm[1] = Im0 - Im1;
	SFRe[2] = Re2 + Re3; SFIm[2] = Im2 + Im3;
	SFRe[3] = Im2 - Im3; SFIm[3] = Re3 - Re2;
	RA = SFRe[0] + SFRe[2];
	IA = SFIm[0] + SFIm[2];
	SFRe[2] = SFRe[0] - SFRe[2];
	SFIm[2] = SFIm[0] - SFIm[2];
	SFRe[0] = RA;
	SFIm[0] = IA;
	RA = SFRe[1] + SFRe[3];
	IA = SFIm[1] + SFIm[3];
	SFRe[3] = SFRe[1] - SFRe[3];
	SFIm[3] = SFIm[1] - SFIm[3];
	SFRe[1] = RA;
	SFIm[1] = IA;
	RF1 = 1.000000;
	IF1 = -0.000000;
	RF2 = 1.000000;
	IF2 = -0.000000;
	R = SFRe[4];
	I = SFIm[4];
	SFRe[4] = R * RF1 - I * IF1;
	SFIm[4] = R * IF1 + I * RF1;
	R = SFRe[6];
	I = SFIm[6];
	SFRe[6] = R * RF2 - I * IF2;
	SFIm[6] = R * IF2 + I * RF2;
	R = SFRe[6];
	I = SFIm[6];
	SFRe[6] = SFIm[4] - I;
	SFIm[6] = R - SFRe[4];
	SFRe[4] += R;
	SFIm[4] += I;
	RF1 = 0.707133;
	IF1 = -0.707080;
	RF2 = -0.707098;
	IF2 = -0.707116;
	R = SFRe[5];
	I = SFIm[5];
	SFRe[5] = R * RF1 - I * IF1;
	SFIm[5] = R * IF1 + I * RF1;
	R = SFRe[7];
	I = SFIm[7];
	SFRe[7] = R * RF2 - I * IF2;
	SFIm[7] = R * IF2 + I * RF2;
	R = SFRe[7];
	I = SFIm[7];
	SFRe[7] = SFIm[5] - I;
	SFIm[7] = R - SFRe[5];
	SFRe[5] += R;
	SFIm[5] += I;
	mR = _mm_add_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4));
	mI = _mm_add_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4));
	_mm_store_ps(SFRe + 4, _mm_sub_ps(_mm_load_ps(SFRe + 0), _mm_load_ps(SFRe + 4)));
	_mm_store_ps(SFIm + 4, _mm_sub_ps(_mm_load_ps(SFIm + 0), _mm_load_ps(SFIm + 4)));
	_mm_store_ps(SFRe + 0, mR);
	_mm_store_ps(SFIm + 0, mI);
	mRF1 = _mm_set_ps(0.382712, 0.707133, 0.923896, 1.000000);
	mIF1 = _mm_set_ps(-0.923868, -0.707080, -0.382643, -0.000000);
	mRF2 = _mm_set_ps(-0.923896, -0.707098, 0.382712, 1.000000);
	mIF2 = _mm_set_ps(0.382643, -0.707116, -0.923868, -0.000000);
	mR = _mm_load_ps(SFRe + 8);
	mI = _mm_load_ps(SFIm + 8);
	_mm_store_ps(SFRe + 8, _mm_sub_ps(_mm_mul_ps(mR, mRF1), _mm_mul_ps(mI, mIF1)));
	_mm_store_ps(SFIm + 8, _mm_add_ps(_mm_mul_ps(mR, mIF1), _mm_mul_ps(mI, mRF1)));
	mR = _mm_load_ps(SFRe + 12);
	mI = _mm_load_ps(SFIm + 12);
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_mul_ps(mR, mRF2), _mm_mul_ps(mI, mIF2)));
	_mm_store_ps(SFIm + 12, _mm_add_ps(_mm_mul_ps(mR, mIF2), _mm_mul_ps(mI, mRF2)));
	mR = _mm_load_ps(SFRe + 12);
	mI = _mm_load_ps(SFIm + 12);
	_mm_store_ps(SFRe + 12, _mm_sub_ps(_mm_load_ps(SFIm + 8), mI));
	_mm_store_ps(SFIm + 12, _mm_sub_ps(mR, _mm_load_ps(SFRe + 8)));
	_mm_store_ps(SFRe + 8, _mm_add_ps(_mm_load_ps(SFRe + 8), mR));
	_mm_store_ps(SFIm + 8, _mm_add_ps(_mm_load_ps(SFIm + 8), mI));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 8));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 8));
	_mm256_store_ps(SFRe + 8, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 8)));
	_mm256_store_ps(SFIm + 8, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 8)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256RF1 = _mm256_set_ps(0.195118, 0.382712, 0.555599, 0.707133, 0.831492, 0.923896, 0.980794, 1.000000);
	m256IF1 = _mm256_set_ps(-0.980780, -0.923868, -0.831451, -0.707080, -0.555536, -0.382643, -0.195044, -0.000000);
	m256RF2 = _mm256_set_ps(-0.555599, -0.923896, -0.980785, -0.707098, -0.195069, 0.382712, 0.831492, 1.000000);
	m256IF2 = _mm256_set_ps(0.831451, 0.382643, -0.195093, -0.707116, -0.980790, -0.923868, -0.555536, -0.000000);
	m256R = _mm256_load_ps(SFRe + 16);
	m256I = _mm256_load_ps(SFIm + 16);
	_mm256_store_ps(SFRe + 16, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 16, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 24);
	m256I = _mm256_load_ps(SFIm + 24);
	_mm256_store_ps(SFRe + 24, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 24, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 24);
	m256I = _mm256_load_ps(SFIm + 24);
	_mm256_store_ps(SFRe + 24, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), m256I));
	_mm256_store_ps(SFIm + 24, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 16)));
	_mm256_store_ps(SFRe + 16, _mm256_add_ps(_mm256_load_ps(SFRe + 16), m256R));
	_mm256_store_ps(SFIm + 16, _mm256_add_ps(_mm256_load_ps(SFIm + 16), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 16));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 16));
	_mm256_store_ps(SFRe + 16, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 16)));
	_mm256_store_ps(SFIm + 16, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 16)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 24));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 24));
	_mm256_store_ps(SFRe + 24, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 24)));
	_mm256_store_ps(SFIm + 24, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 24)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256RF1 = _mm256_set_ps(0.773019, 0.831492, 0.881929, 0.923896, 0.956946, 0.980794, 0.995187, 1.000000);
	m256IF1 = _mm256_set_ps(-0.634382, -0.555536, -0.471382, -0.382643, -0.290265, -0.195044, -0.097994, -0.000000);
	m256RF2 = _mm256_set_ps(-0.471404, -0.195069, 0.098019, 0.382712, 0.634402, 0.831492, 0.956946, 1.000000);
	m256IF2 = _mm256_set_ps(-0.881918, -0.980790, -0.995185, -0.923868, -0.773004, -0.555536, -0.290265, -0.000000);
	m256R = _mm256_load_ps(SFRe + 32);
	m256I = _mm256_load_ps(SFIm + 32);
	_mm256_store_ps(SFRe + 32, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 32, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 48);
	m256I = _mm256_load_ps(SFIm + 48);
	_mm256_store_ps(SFRe + 48, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 48, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 48);
	m256I = _mm256_load_ps(SFIm + 48);
	_mm256_store_ps(SFRe + 48, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), m256I));
	_mm256_store_ps(SFIm + 48, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 32)));
	_mm256_store_ps(SFRe + 32, _mm256_add_ps(_mm256_load_ps(SFRe + 32), m256R));
	_mm256_store_ps(SFIm + 32, _mm256_add_ps(_mm256_load_ps(SFIm + 32), m256I));
	m256RF1 = _mm256_set_ps(0.098019, 0.195118, 0.290289, 0.382712, 0.471404, 0.555599, 0.634402, 0.707133);
	m256IF1 = _mm256_set_ps(-0.995185, -0.980780, -0.956939, -0.923868, -0.881918, -0.831451, -0.773004, -0.707080);
	m256RF2 = _mm256_set_ps(-0.290289, -0.555599, -0.773019, -0.923896, -0.995187, -0.980785, -0.881929, -0.707098);
	m256IF2 = _mm256_set_ps(0.956939, 0.831451, 0.634382, 0.382643, 0.097994, -0.195093, -0.471382, -0.707116);
	m256R = _mm256_load_ps(SFRe + 40);
	m256I = _mm256_load_ps(SFIm + 40);
	_mm256_store_ps(SFRe + 40, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 40, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 56);
	m256I = _mm256_load_ps(SFIm + 56);
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 56, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 56);
	m256I = _mm256_load_ps(SFIm + 56);
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), m256I));
	_mm256_store_ps(SFIm + 56, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 40)));
	_mm256_store_ps(SFRe + 40, _mm256_add_ps(_mm256_load_ps(SFRe + 40), m256R));
	_mm256_store_ps(SFIm + 40, _mm256_add_ps(_mm256_load_ps(SFIm + 40), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 32));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 32));
	_mm256_store_ps(SFRe + 32, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 32)));
	_mm256_store_ps(SFIm + 32, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 32)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 40));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 40));
	_mm256_store_ps(SFRe + 40, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 40)));
	_mm256_store_ps(SFIm + 40, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 40)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 48));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 48));
	_mm256_store_ps(SFRe + 48, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 48)));
	_mm256_store_ps(SFIm + 48, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 48)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 56));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 56));
	_mm256_store_ps(SFRe + 56, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 56)));
	_mm256_store_ps(SFIm + 56, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 56)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256RF1 = _mm256_set_ps(0.941546, 0.956946, 0.970039, 0.980794, 0.989178, 0.995187, 0.998797, 1.000000);
	m256IF1 = _mm256_set_ps(-0.336883, -0.290265, -0.242948, -0.195044, -0.146720, -0.097994, -0.049031, -0.000000);
	m256RF2 = _mm256_set_ps(0.514121, 0.634402, 0.740952, 0.831492, 0.904002, 0.956946, 0.989178, 1.000000);
	m256IF2 = _mm256_set_ps(-0.857718, -0.773004, -0.671558, -0.555536, -0.427528, -0.290265, -0.146720, -0.000000);
	m256R = _mm256_load_ps(SFRe + 64);
	m256I = _mm256_load_ps(SFIm + 64);
	_mm256_store_ps(SFRe + 64, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 64, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 96);
	m256I = _mm256_load_ps(SFIm + 96);
	_mm256_store_ps(SFRe + 96, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 96, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 96);
	m256I = _mm256_load_ps(SFIm + 96);
	_mm256_store_ps(SFRe + 96, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), m256I));
	_mm256_store_ps(SFIm + 96, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 64)));
	_mm256_store_ps(SFRe + 64, _mm256_add_ps(_mm256_load_ps(SFRe + 64), m256R));
	_mm256_store_ps(SFIm + 64, _mm256_add_ps(_mm256_load_ps(SFIm + 64), m256I));
	m256RF1 = _mm256_set_ps(0.740952, 0.773019, 0.803224, 0.831492, 0.857731, 0.881929, 0.904002, 0.923896);
	m256IF1 = _mm256_set_ps(-0.671558, -0.634382, -0.595677, -0.555536, -0.514099, -0.471382, -0.427528, -0.382643);
	m256RF2 = _mm256_set_ps(-0.595697, -0.471404, -0.336907, -0.195069, -0.049056, 0.098019, 0.242972, 0.382712);
	m256IF2 = _mm256_set_ps(-0.803209, -0.881918, -0.941538, -0.980790, -0.998796, -0.995185, -0.970033, -0.923868);
	m256R = _mm256_load_ps(SFRe + 72);
	m256I = _mm256_load_ps(SFIm + 72);
	_mm256_store_ps(SFRe + 72, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 72, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 104);
	m256I = _mm256_load_ps(SFIm + 104);
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 104, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 104);
	m256I = _mm256_load_ps(SFIm + 104);
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), m256I));
	_mm256_store_ps(SFIm + 104, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 72)));
	_mm256_store_ps(SFRe + 72, _mm256_add_ps(_mm256_load_ps(SFRe + 72), m256R));
	_mm256_store_ps(SFIm + 72, _mm256_add_ps(_mm256_load_ps(SFIm + 72), m256I));
	m256RF1 = _mm256_set_ps(0.427550, 0.471404, 0.514121, 0.555599, 0.595697, 0.634402, 0.671577, 0.707133);
	m256IF1 = _mm256_set_ps(-0.903992, -0.881918, -0.857718, -0.831451, -0.803209, -0.773004, -0.740935, -0.707080);
	m256RF2 = _mm256_set_ps(-0.970039, -0.995187, -0.998797, -0.980785, -0.941546, -0.881929, -0.803224, -0.707098);
	m256IF2 = _mm256_set_ps(0.242948, 0.097994, -0.049031, -0.195093, -0.336883, -0.471382, -0.595677, -0.707116);
	m256R = _mm256_load_ps(SFRe + 80);
	m256I = _mm256_load_ps(SFIm + 80);
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 112);
	m256I = _mm256_load_ps(SFIm + 112);
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 112, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 112);
	m256I = _mm256_load_ps(SFIm + 112);
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), m256I));
	_mm256_store_ps(SFIm + 112, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFRe + 80, _mm256_add_ps(_mm256_load_ps(SFRe + 80), m256R));
	_mm256_store_ps(SFIm + 80, _mm256_add_ps(_mm256_load_ps(SFIm + 80), m256I));
	m256RF1 = _mm256_set_ps(0.049056, 0.098019, 0.146745, 0.195118, 0.242972, 0.290289, 0.336907, 0.382712);
	m256IF1 = _mm256_set_ps(-0.998796, -0.995185, -0.989174, -0.980780, -0.970033, -0.956939, -0.941538, -0.923868);
	m256RF2 = _mm256_set_ps(-0.146745, -0.290289, -0.427550, -0.555599, -0.671577, -0.773019, -0.857731, -0.923896);
	m256IF2 = _mm256_set_ps(0.989174, 0.956939, 0.903992, 0.831451, 0.740935, 0.634382, 0.514099, 0.382643);
	m256R = _mm256_load_ps(SFRe + 88);
	m256I = _mm256_load_ps(SFIm + 88);
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 88, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 120, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 120);
	m256I = _mm256_load_ps(SFIm + 120);
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 88), m256I));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 88)));
	_mm256_store_ps(SFRe + 88, _mm256_add_ps(_mm256_load_ps(SFRe + 88), m256R));
	_mm256_store_ps(SFIm + 88, _mm256_add_ps(_mm256_load_ps(SFIm + 88), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 64));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 64));
	_mm256_store_ps(SFRe + 64, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 64)));
	_mm256_store_ps(SFIm + 64, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 64)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 72));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 72));
	_mm256_store_ps(SFRe + 72, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 72)));
	_mm256_store_ps(SFIm + 72, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 72)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 80));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 80));
	_mm256_store_ps(SFRe + 80, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 80)));
	_mm256_store_ps(SFIm + 80, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 80)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 88));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 88));
	_mm256_store_ps(SFRe + 88, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 88)));
	_mm256_store_ps(SFIm + 88, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 88)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 96));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 96));
	_mm256_store_ps(SFRe + 96, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 96)));
	_mm256_store_ps(SFIm + 96, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 96)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 104));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 104));
	_mm256_store_ps(SFRe + 104, _mm256_sub_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 104)));
	_mm256_store_ps(SFIm + 104, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 104)));
	_mm256_store_ps(SFRe + 40, m256R);
	_mm256_store_ps(SFIm + 40, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 112));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 112));
	_mm256_store_ps(SFRe + 112, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 112)));
	_mm256_store_ps(SFIm + 112, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 112)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 120));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 120));
	_mm256_store_ps(SFRe + 120, _mm256_sub_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 120)));
	_mm256_store_ps(SFIm + 120, _mm256_sub_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 120)));
	_mm256_store_ps(SFRe + 56, m256R);
	_mm256_store_ps(SFIm + 56, m256I);
	m256RF1 = _mm256_set_ps(0.985278, 0.989178, 0.992482, 0.995187, 0.997293, 0.998797, 0.999700, 1.000000);
	m256IF1 = _mm256_set_ps(-0.170958, -0.146720, -0.122394, -0.097994, -0.073535, -0.049031, -0.024498, -0.000000);
	m256RF2 = _mm256_set_ps(0.870092, 0.904002, 0.932993, 0.956946, 0.975711, 0.989178, 0.997293, 1.000000);
	m256IF2 = _mm256_set_ps(-0.492889, -0.427528, -0.359895, -0.290265, -0.219062, -0.146720, -0.073535, -0.000000);
	m256R = _mm256_load_ps(SFRe + 128);
	m256I = _mm256_load_ps(SFIm + 128);
	_mm256_store_ps(SFRe + 128, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 128, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 192);
	m256I = _mm256_load_ps(SFIm + 192);
	_mm256_store_ps(SFRe + 192, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 192, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 192);
	m256I = _mm256_load_ps(SFIm + 192);
	_mm256_store_ps(SFRe + 192, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), m256I));
	_mm256_store_ps(SFIm + 192, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 128)));
	_mm256_store_ps(SFRe + 128, _mm256_add_ps(_mm256_load_ps(SFRe + 128), m256R));
	_mm256_store_ps(SFIm + 128, _mm256_add_ps(_mm256_load_ps(SFIm + 128), m256I));
	m256RF1 = _mm256_set_ps(0.932993, 0.941546, 0.949532, 0.956946, 0.963783, 0.970039, 0.975711, 0.980794);
	m256IF1 = _mm256_set_ps(-0.359895, -0.336883, -0.313669, -0.290265, -0.266687, -0.242948, -0.219062, -0.195044);
	m256RF2 = _mm256_set_ps(0.449612, 0.514121, 0.575801, 0.634402, 0.689563, 0.740952, 0.788359, 0.831492);
	m256IF2 = _mm256_set_ps(-0.893224, -0.857718, -0.817590, -0.773004, -0.724226, -0.671558, -0.615215, -0.555536);
	m256R = _mm256_load_ps(SFRe + 136);
	m256I = _mm256_load_ps(SFIm + 136);
	_mm256_store_ps(SFRe + 136, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 136, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 200);
	m256I = _mm256_load_ps(SFIm + 200);
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 200, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 200);
	m256I = _mm256_load_ps(SFIm + 200);
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), m256I));
	_mm256_store_ps(SFIm + 200, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 136)));
	_mm256_store_ps(SFRe + 136, _mm256_add_ps(_mm256_load_ps(SFRe + 136), m256R));
	_mm256_store_ps(SFIm + 136, _mm256_add_ps(_mm256_load_ps(SFIm + 136), m256I));
	m256RF1 = _mm256_set_ps(0.844852, 0.857731, 0.870092, 0.881929, 0.893235, 0.904002, 0.914225, 0.923896);
	m256IF1 = _mm256_set_ps(-0.535000, -0.514099, -0.492889, -0.471382, -0.449590, -0.427528, -0.405207, -0.382643);
	m256RF2 = _mm256_set_ps(-0.122419, -0.049056, 0.024523, 0.098019, 0.170983, 0.242972, 0.313692, 0.382712);
	m256IF2 = _mm256_set_ps(-0.992479, -0.998796, -0.999699, -0.995185, -0.985274, -0.970033, -0.949525, -0.923868);
	m256R = _mm256_load_ps(SFRe + 144);
	m256I = _mm256_load_ps(SFIm + 144);
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 208);
	m256I = _mm256_load_ps(SFIm + 208);
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 208, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 208);
	m256I = _mm256_load_ps(SFIm + 208);
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), m256I));
	_mm256_store_ps(SFIm + 208, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFRe + 144, _mm256_add_ps(_mm256_load_ps(SFRe + 144), m256R));
	_mm256_store_ps(SFIm + 144, _mm256_add_ps(_mm256_load_ps(SFIm + 144), m256I));
	m256RF1 = _mm256_set_ps(0.724243, 0.740952, 0.757214, 0.773019, 0.788359, 0.803224, 0.817604, 0.831492);
	m256IF1 = _mm256_set_ps(-0.689545, -0.671558, -0.653167, -0.634382, -0.615215, -0.595677, -0.575780, -0.555536);
	m256RF2 = _mm256_set_ps(-0.653186, -0.595697, -0.535021, -0.471404, -0.405230, -0.336907, -0.266711, -0.195069);
	m256IF2 = _mm256_set_ps(-0.757197, -0.803209, -0.844839, -0.881918, -0.914215, -0.941538, -0.963777, -0.980790);
	m256R = _mm256_load_ps(SFRe + 152);
	m256I = _mm256_load_ps(SFIm + 152);
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 152, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 216, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 216);
	m256I = _mm256_load_ps(SFIm + 216);
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 152), m256I));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 152)));
	_mm256_store_ps(SFRe + 152, _mm256_add_ps(_mm256_load_ps(SFRe + 152), m256R));
	_mm256_store_ps(SFIm + 152, _mm256_add_ps(_mm256_load_ps(SFIm + 152), m256I));
	m256RF1 = _mm256_set_ps(0.575801, 0.595697, 0.615235, 0.634402, 0.653186, 0.671577, 0.689563, 0.707133);
	m256IF1 = _mm256_set_ps(-0.817590, -0.803209, -0.788344, -0.773004, -0.757197, -0.740935, -0.724226, -0.707080);
	m256RF2 = _mm256_set_ps(-0.963783, -0.941546, -0.914205, -0.881929, -0.844852, -0.803224, -0.757214, -0.707098);
	m256IF2 = _mm256_set_ps(-0.266687, -0.336883, -0.405253, -0.471382, -0.535000, -0.595677, -0.653167, -0.707116);
	m256R = _mm256_load_ps(SFRe + 160);
	m256I = _mm256_load_ps(SFIm + 160);
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 224);
	m256I = _mm256_load_ps(SFIm + 224);
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 224, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 224);
	m256I = _mm256_load_ps(SFIm + 224);
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), m256I));
	_mm256_store_ps(SFIm + 224, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFRe + 160, _mm256_add_ps(_mm256_load_ps(SFRe + 160), m256R));
	_mm256_store_ps(SFIm + 160, _mm256_add_ps(_mm256_load_ps(SFIm + 160), m256I));
	m256RF1 = _mm256_set_ps(0.405230, 0.427550, 0.449612, 0.471404, 0.492911, 0.514121, 0.535021, 0.555599);
	m256IF1 = _mm256_set_ps(-0.914215, -0.903992, -0.893224, -0.881918, -0.870080, -0.857718, -0.844839, -0.831451);
	m256RF2 = _mm256_set_ps(-0.949532, -0.970039, -0.985278, -0.995187, -0.999700, -0.998797, -0.992482, -0.980785);
	m256IF2 = _mm256_set_ps(0.313669, 0.242948, 0.170958, 0.097994, 0.024498, -0.049031, -0.122394, -0.195093);
	m256R = _mm256_load_ps(SFRe + 168);
	m256I = _mm256_load_ps(SFIm + 168);
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 232);
	m256I = _mm256_load_ps(SFIm + 232);
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 232, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 232);
	m256I = _mm256_load_ps(SFIm + 232);
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 168), m256I));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFRe + 168, _mm256_add_ps(_mm256_load_ps(SFRe + 168), m256R));
	_mm256_store_ps(SFIm + 168, _mm256_add_ps(_mm256_load_ps(SFIm + 168), m256I));
	m256RF1 = _mm256_set_ps(0.219086, 0.242972, 0.266711, 0.290289, 0.313692, 0.336907, 0.359918, 0.382712);
	m256IF1 = _mm256_set_ps(-0.975705, -0.970033, -0.963777, -0.956939, -0.949525, -0.941538, -0.932984, -0.923868);
	m256RF2 = _mm256_set_ps(-0.615235, -0.671577, -0.724243, -0.773019, -0.817604, -0.857731, -0.893235, -0.923896);
	m256IF2 = _mm256_set_ps(0.788344, 0.740935, 0.689545, 0.634382, 0.575780, 0.514099, 0.449590, 0.382643);
	m256R = _mm256_load_ps(SFRe + 176);
	m256I = _mm256_load_ps(SFIm + 176);
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 176, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 240, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 240);
	m256I = _mm256_load_ps(SFIm + 240);
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 176), m256I));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 176)));
	_mm256_store_ps(SFRe + 176, _mm256_add_ps(_mm256_load_ps(SFRe + 176), m256R));
	_mm256_store_ps(SFIm + 176, _mm256_add_ps(_mm256_load_ps(SFIm + 176), m256I));
	m256RF1 = _mm256_set_ps(0.024523, 0.049056, 0.073559, 0.098019, 0.122419, 0.146745, 0.170983, 0.195118);
	m256IF1 = _mm256_set_ps(-0.999699, -0.998796, -0.997291, -0.995185, -0.992479, -0.989174, -0.985274, -0.980780);
	m256RF2 = _mm256_set_ps(-0.073559, -0.146745, -0.219086, -0.290289, -0.359918, -0.427550, -0.492911, -0.555599);
	m256IF2 = _mm256_set_ps(0.997291, 0.989174, 0.975705, 0.956939, 0.932984, 0.903992, 0.870080, 0.831451);
	m256R = _mm256_load_ps(SFRe + 184);
	m256I = _mm256_load_ps(SFIm + 184);
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 184, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 248, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 248);
	m256I = _mm256_load_ps(SFIm + 248);
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 184), m256I));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFRe + 184, _mm256_add_ps(_mm256_load_ps(SFRe + 184), m256R));
	_mm256_store_ps(SFIm + 184, _mm256_add_ps(_mm256_load_ps(SFIm + 184), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 128));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 128));
	_mm256_store_ps(SFRe + 128, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 128)));
	_mm256_store_ps(SFIm + 128, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 128)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 136));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 136));
	_mm256_store_ps(SFRe + 136, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 136)));
	_mm256_store_ps(SFIm + 136, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 136)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 144));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 144));
	_mm256_store_ps(SFRe + 144, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 144)));
	_mm256_store_ps(SFIm + 144, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 144)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 152));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 152));
	_mm256_store_ps(SFRe + 152, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 152)));
	_mm256_store_ps(SFIm + 152, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 152)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 160));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 160));
	_mm256_store_ps(SFRe + 160, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 160)));
	_mm256_store_ps(SFIm + 160, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 160)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 168));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 168));
	_mm256_store_ps(SFRe + 168, _mm256_sub_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 168)));
	_mm256_store_ps(SFIm + 168, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 168)));
	_mm256_store_ps(SFRe + 40, m256R);
	_mm256_store_ps(SFIm + 40, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 176));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 176));
	_mm256_store_ps(SFRe + 176, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 176)));
	_mm256_store_ps(SFIm + 176, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 176)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 184));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 184));
	_mm256_store_ps(SFRe + 184, _mm256_sub_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 184)));
	_mm256_store_ps(SFIm + 184, _mm256_sub_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 184)));
	_mm256_store_ps(SFRe + 56, m256R);
	_mm256_store_ps(SFIm + 56, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 192));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 192));
	_mm256_store_ps(SFRe + 192, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 192)));
	_mm256_store_ps(SFIm + 192, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 192)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 200));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 200));
	_mm256_store_ps(SFRe + 200, _mm256_sub_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 200)));
	_mm256_store_ps(SFIm + 200, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 200)));
	_mm256_store_ps(SFRe + 72, m256R);
	_mm256_store_ps(SFIm + 72, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 80), _mm256_load_ps(SFRe + 208));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 80), _mm256_load_ps(SFIm + 208));
	_mm256_store_ps(SFRe + 208, _mm256_sub_ps(_mm256_load_ps(SFRe + 80), _mm256_load_ps(SFRe + 208)));
	_mm256_store_ps(SFIm + 208, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), _mm256_load_ps(SFIm + 208)));
	_mm256_store_ps(SFRe + 80, m256R);
	_mm256_store_ps(SFIm + 80, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 88), _mm256_load_ps(SFRe + 216));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 88), _mm256_load_ps(SFIm + 216));
	_mm256_store_ps(SFRe + 216, _mm256_sub_ps(_mm256_load_ps(SFRe + 88), _mm256_load_ps(SFRe + 216)));
	_mm256_store_ps(SFIm + 216, _mm256_sub_ps(_mm256_load_ps(SFIm + 88), _mm256_load_ps(SFIm + 216)));
	_mm256_store_ps(SFRe + 88, m256R);
	_mm256_store_ps(SFIm + 88, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 224));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 224));
	_mm256_store_ps(SFRe + 224, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 224)));
	_mm256_store_ps(SFIm + 224, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 224)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 232));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 232));
	_mm256_store_ps(SFRe + 232, _mm256_sub_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 232)));
	_mm256_store_ps(SFIm + 232, _mm256_sub_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 232)));
	_mm256_store_ps(SFRe + 104, m256R);
	_mm256_store_ps(SFIm + 104, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 112), _mm256_load_ps(SFRe + 240));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 112), _mm256_load_ps(SFIm + 240));
	_mm256_store_ps(SFRe + 240, _mm256_sub_ps(_mm256_load_ps(SFRe + 112), _mm256_load_ps(SFRe + 240)));
	_mm256_store_ps(SFIm + 240, _mm256_sub_ps(_mm256_load_ps(SFIm + 112), _mm256_load_ps(SFIm + 240)));
	_mm256_store_ps(SFRe + 112, m256R);
	_mm256_store_ps(SFIm + 112, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 120), _mm256_load_ps(SFRe + 248));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 120), _mm256_load_ps(SFIm + 248));
	_mm256_store_ps(SFRe + 248, _mm256_sub_ps(_mm256_load_ps(SFRe + 120), _mm256_load_ps(SFRe + 248)));
	_mm256_store_ps(SFIm + 248, _mm256_sub_ps(_mm256_load_ps(SFIm + 120), _mm256_load_ps(SFIm + 248)));
	_mm256_store_ps(SFRe + 120, m256R);
	_mm256_store_ps(SFIm + 120, m256I);
	m256RF1 = _mm256_set_ps(0.996313, 0.997293, 0.998119, 0.998797, 0.999323, 0.999700, 0.999925, 1.000000);
	m256IF1 = _mm256_set_ps(-0.085796, -0.073535, -0.061312, -0.049031, -0.036792, -0.024498, -0.012250, -0.000000);
	m256RF2 = _mm256_set_ps(0.966978, 0.975711, 0.983110, 0.989178, 0.993912, 0.997293, 0.999323, 1.000000);
	m256IF2 = _mm256_set_ps(-0.254861, -0.219062, -0.183015, -0.146720, -0.110177, -0.073535, -0.036792, -0.000000);
	m256R = _mm256_load_ps(SFRe + 256);
	m256I = _mm256_load_ps(SFIm + 256);
	_mm256_store_ps(SFRe + 256, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 256, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 384);
	m256I = _mm256_load_ps(SFIm + 384);
	_mm256_store_ps(SFRe + 384, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 384, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 384);
	m256I = _mm256_load_ps(SFIm + 384);
	_mm256_store_ps(SFRe + 384, _mm256_sub_ps(_mm256_load_ps(SFIm + 256), m256I));
	_mm256_store_ps(SFIm + 384, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 256)));
	_mm256_store_ps(SFRe + 256, _mm256_add_ps(_mm256_load_ps(SFRe + 256), m256R));
	_mm256_store_ps(SFIm + 256, _mm256_add_ps(_mm256_load_ps(SFIm + 256), m256I));
	m256RF1 = _mm256_set_ps(0.983110, 0.985278, 0.987306, 0.989178, 0.990908, 0.992482, 0.993912, 0.995187);
	m256IF1 = _mm256_set_ps(-0.183015, -0.170958, -0.158827, -0.146720, -0.134543, -0.122394, -0.110177, -0.097994);
	m256RF2 = _mm256_set_ps(0.851369, 0.870092, 0.887638, 0.904002, 0.919120, 0.932993, 0.945619, 0.956946);
	m256IF2 = _mm256_set_ps(-0.524568, -0.492889, -0.460543, -0.427528, -0.393978, -0.359895, -0.325277, -0.290265);
	m256R = _mm256_load_ps(SFRe + 264);
	m256I = _mm256_load_ps(SFIm + 264);
	_mm256_store_ps(SFRe + 264, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 264, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 392);
	m256I = _mm256_load_ps(SFIm + 392);
	_mm256_store_ps(SFRe + 392, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 392, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 392);
	m256I = _mm256_load_ps(SFIm + 392);
	_mm256_store_ps(SFRe + 392, _mm256_sub_ps(_mm256_load_ps(SFIm + 264), m256I));
	_mm256_store_ps(SFIm + 392, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 264)));
	_mm256_store_ps(SFRe + 264, _mm256_add_ps(_mm256_load_ps(SFRe + 264), m256R));
	_mm256_store_ps(SFIm + 264, _mm256_add_ps(_mm256_load_ps(SFIm + 264), m256I));
	m256RF1 = _mm256_set_ps(0.960430, 0.963783, 0.966978, 0.970039, 0.972943, 0.975711, 0.978321, 0.980794);
	m256IF1 = _mm256_set_ps(-0.278521, -0.266687, -0.254861, -0.242948, -0.231047, -0.219062, -0.207093, -0.195044);
	m256RF2 = _mm256_set_ps(0.662413, 0.689563, 0.715742, 0.740952, 0.765190, 0.788359, 0.810461, 0.831492);
	m256IF2 = _mm256_set_ps(-0.749139, -0.724226, -0.698365, -0.671558, -0.643804, -0.615215, -0.585793, -0.555536);
	m256R = _mm256_load_ps(SFRe + 272);
	m256I = _mm256_load_ps(SFIm + 272);
	_mm256_store_ps(SFRe + 272, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 272, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 400);
	m256I = _mm256_load_ps(SFIm + 400);
	_mm256_store_ps(SFRe + 400, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 400, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 400);
	m256I = _mm256_load_ps(SFIm + 400);
	_mm256_store_ps(SFRe + 400, _mm256_sub_ps(_mm256_load_ps(SFIm + 272), m256I));
	_mm256_store_ps(SFIm + 400, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 272)));
	_mm256_store_ps(SFRe + 272, _mm256_add_ps(_mm256_load_ps(SFRe + 272), m256R));
	_mm256_store_ps(SFIm + 272, _mm256_add_ps(_mm256_load_ps(SFIm + 272), m256I));
	m256RF1 = _mm256_set_ps(0.928514, 0.932993, 0.937349, 0.941546, 0.945619, 0.949532, 0.953319, 0.956946);
	m256IF1 = _mm256_set_ps(-0.371297, -0.359895, -0.348392, -0.336883, -0.325277, -0.313669, -0.301966, -0.290265);
	m256RF2 = _mm256_set_ps(0.416444, 0.449612, 0.482172, 0.514121, 0.545330, 0.575801, 0.605532, 0.634402);
	m256IF2 = _mm256_set_ps(-0.909161, -0.893224, -0.876077, -0.857718, -0.838221, -0.817590, -0.795821, -0.773004);
	m256R = _mm256_load_ps(SFRe + 280);
	m256I = _mm256_load_ps(SFIm + 280);
	_mm256_store_ps(SFRe + 280, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 280, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 408);
	m256I = _mm256_load_ps(SFIm + 408);
	_mm256_store_ps(SFRe + 408, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 408, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 408);
	m256I = _mm256_load_ps(SFIm + 408);
	_mm256_store_ps(SFRe + 408, _mm256_sub_ps(_mm256_load_ps(SFIm + 280), m256I));
	_mm256_store_ps(SFIm + 408, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 280)));
	_mm256_store_ps(SFRe + 280, _mm256_add_ps(_mm256_load_ps(SFRe + 280), m256R));
	_mm256_store_ps(SFIm + 280, _mm256_add_ps(_mm256_load_ps(SFIm + 280), m256I));
	m256RF1 = _mm256_set_ps(0.887638, 0.893235, 0.898675, 0.904002, 0.909172, 0.914225, 0.919120, 0.923896);
	m256IF1 = _mm256_set_ps(-0.460543, -0.449590, -0.438614, -0.427528, -0.416422, -0.405207, -0.393978, -0.382643);
	m256RF2 = _mm256_set_ps(0.134567, 0.170983, 0.207118, 0.242972, 0.278545, 0.313692, 0.348415, 0.382712);
	m256IF2 = _mm256_set_ps(-0.990904, -0.985274, -0.978316, -0.970033, -0.960423, -0.949525, -0.937340, -0.923868);
	m256R = _mm256_load_ps(SFRe + 288);
	m256I = _mm256_load_ps(SFIm + 288);
	_mm256_store_ps(SFRe + 288, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 288, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 416);
	m256I = _mm256_load_ps(SFIm + 416);
	_mm256_store_ps(SFRe + 416, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 416, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 416);
	m256I = _mm256_load_ps(SFIm + 416);
	_mm256_store_ps(SFRe + 416, _mm256_sub_ps(_mm256_load_ps(SFIm + 288), m256I));
	_mm256_store_ps(SFIm + 416, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 288)));
	_mm256_store_ps(SFRe + 288, _mm256_add_ps(_mm256_load_ps(SFRe + 288), m256R));
	_mm256_store_ps(SFIm + 288, _mm256_add_ps(_mm256_load_ps(SFIm + 288), m256I));
	m256RF1 = _mm256_set_ps(0.838235, 0.844852, 0.851369, 0.857731, 0.863989, 0.870092, 0.876089, 0.881929);
	m256IF1 = _mm256_set_ps(-0.545309, -0.535000, -0.524568, -0.514099, -0.503511, -0.492889, -0.482150, -0.471382);
	m256RF2 = _mm256_set_ps(-0.158851, -0.122419, -0.085771, -0.049056, -0.012275, 0.024523, 0.061337, 0.098019);
	m256IF2 = _mm256_set_ps(-0.987302, -0.992479, -0.996315, -0.998796, -0.999925, -0.999699, -0.998117, -0.995185);
	m256R = _mm256_load_ps(SFRe + 296);
	m256I = _mm256_load_ps(SFIm + 296);
	_mm256_store_ps(SFRe + 296, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 296, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 424);
	m256I = _mm256_load_ps(SFIm + 424);
	_mm256_store_ps(SFRe + 424, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 424, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 424);
	m256I = _mm256_load_ps(SFIm + 424);
	_mm256_store_ps(SFRe + 424, _mm256_sub_ps(_mm256_load_ps(SFIm + 296), m256I));
	_mm256_store_ps(SFIm + 424, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 296)));
	_mm256_store_ps(SFRe + 296, _mm256_add_ps(_mm256_load_ps(SFRe + 296), m256R));
	_mm256_store_ps(SFIm + 296, _mm256_add_ps(_mm256_load_ps(SFIm + 296), m256I));
	m256RF1 = _mm256_set_ps(0.780732, 0.788359, 0.795836, 0.803224, 0.810461, 0.817604, 0.824596, 0.831492);
	m256IF1 = _mm256_set_ps(-0.624865, -0.615215, -0.605512, -0.595677, -0.585793, -0.575780, -0.565722, -0.555536);
	m256RF2 = _mm256_set_ps(-0.438637, -0.405230, -0.371320, -0.336907, -0.301990, -0.266711, -0.231071, -0.195069);
	m256IF2 = _mm256_set_ps(-0.898664, -0.914215, -0.928505, -0.941538, -0.953311, -0.963777, -0.972937, -0.980790);
	m256R = _mm256_load_ps(SFRe + 304);
	m256I = _mm256_load_ps(SFIm + 304);
	_mm256_store_ps(SFRe + 304, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 304, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 432);
	m256I = _mm256_load_ps(SFIm + 432);
	_mm256_store_ps(SFRe + 432, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 432, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 432);
	m256I = _mm256_load_ps(SFIm + 432);
	_mm256_store_ps(SFRe + 432, _mm256_sub_ps(_mm256_load_ps(SFIm + 304), m256I));
	_mm256_store_ps(SFIm + 432, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 304)));
	_mm256_store_ps(SFRe + 304, _mm256_add_ps(_mm256_load_ps(SFRe + 304), m256R));
	_mm256_store_ps(SFIm + 304, _mm256_add_ps(_mm256_load_ps(SFIm + 304), m256I));
	m256RF1 = _mm256_set_ps(0.715742, 0.724243, 0.732670, 0.740952, 0.749156, 0.757214, 0.765190, 0.773019);
	m256IF1 = _mm256_set_ps(-0.698365, -0.689545, -0.680585, -0.671558, -0.662394, -0.653167, -0.643804, -0.634382);
	m256RF2 = _mm256_set_ps(-0.680603, -0.653186, -0.624846, -0.595697, -0.565742, -0.535021, -0.503532, -0.471404);
	m256IF2 = _mm256_set_ps(-0.732653, -0.757197, -0.780748, -0.803209, -0.824582, -0.844839, -0.863976, -0.881918);
	m256R = _mm256_load_ps(SFRe + 312);
	m256I = _mm256_load_ps(SFIm + 312);
	_mm256_store_ps(SFRe + 312, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 312, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 440);
	m256I = _mm256_load_ps(SFIm + 440);
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 440, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 440);
	m256I = _mm256_load_ps(SFIm + 440);
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_load_ps(SFIm + 312), m256I));
	_mm256_store_ps(SFIm + 440, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 312)));
	_mm256_store_ps(SFRe + 312, _mm256_add_ps(_mm256_load_ps(SFRe + 312), m256R));
	_mm256_store_ps(SFIm + 312, _mm256_add_ps(_mm256_load_ps(SFIm + 312), m256I));
	m256RF1 = _mm256_set_ps(0.643823, 0.653186, 0.662413, 0.671577, 0.680603, 0.689563, 0.698383, 0.707133);
	m256IF1 = _mm256_set_ps(-0.765174, -0.757197, -0.749139, -0.740935, -0.732653, -0.724226, -0.715724, -0.707080);
	m256RF2 = _mm256_set_ps(-0.863989, -0.844852, -0.824596, -0.803224, -0.780732, -0.757214, -0.732670, -0.707098);
	m256IF2 = _mm256_set_ps(-0.503511, -0.535000, -0.565722, -0.595677, -0.624865, -0.653167, -0.680585, -0.707116);
	m256R = _mm256_load_ps(SFRe + 320);
	m256I = _mm256_load_ps(SFIm + 320);
	_mm256_store_ps(SFRe + 320, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 320, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 448);
	m256I = _mm256_load_ps(SFIm + 448);
	_mm256_store_ps(SFRe + 448, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 448, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 448);
	m256I = _mm256_load_ps(SFIm + 448);
	_mm256_store_ps(SFRe + 448, _mm256_sub_ps(_mm256_load_ps(SFIm + 320), m256I));
	_mm256_store_ps(SFIm + 448, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 320)));
	_mm256_store_ps(SFRe + 320, _mm256_add_ps(_mm256_load_ps(SFRe + 320), m256R));
	_mm256_store_ps(SFIm + 320, _mm256_add_ps(_mm256_load_ps(SFIm + 320), m256I));
	m256RF1 = _mm256_set_ps(0.565742, 0.575801, 0.585814, 0.595697, 0.605532, 0.615235, 0.624885, 0.634402);
	m256IF1 = _mm256_set_ps(-0.824582, -0.817590, -0.810446, -0.803209, -0.795821, -0.788344, -0.780717, -0.773004);
	m256RF2 = _mm256_set_ps(-0.972943, -0.963783, -0.953304, -0.941546, -0.928514, -0.914205, -0.898675, -0.881929);
	m256IF2 = _mm256_set_ps(-0.231047, -0.266687, -0.302014, -0.336883, -0.371297, -0.405253, -0.438614, -0.471382);
	m256R = _mm256_load_ps(SFRe + 328);
	m256I = _mm256_load_ps(SFIm + 328);
	_mm256_store_ps(SFRe + 328, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 328, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 456);
	m256I = _mm256_load_ps(SFIm + 456);
	_mm256_store_ps(SFRe + 456, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 456, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 456);
	m256I = _mm256_load_ps(SFIm + 456);
	_mm256_store_ps(SFRe + 456, _mm256_sub_ps(_mm256_load_ps(SFIm + 328), m256I));
	_mm256_store_ps(SFIm + 456, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 328)));
	_mm256_store_ps(SFRe + 328, _mm256_add_ps(_mm256_load_ps(SFRe + 328), m256R));
	_mm256_store_ps(SFIm + 328, _mm256_add_ps(_mm256_load_ps(SFIm + 328), m256I));
	m256RF1 = _mm256_set_ps(0.482172, 0.492911, 0.503532, 0.514121, 0.524589, 0.535021, 0.545330, 0.555599);
	m256IF1 = _mm256_set_ps(-0.876077, -0.870080, -0.863976, -0.857718, -0.851355, -0.844839, -0.838221, -0.831451);
	m256RF2 = _mm256_set_ps(-0.998119, -0.999700, -0.999925, -0.998797, -0.996313, -0.992482, -0.987306, -0.980785);
	m256IF2 = _mm256_set_ps(0.061312, 0.024498, -0.012250, -0.049031, -0.085796, -0.122394, -0.158827, -0.195093);
	m256R = _mm256_load_ps(SFRe + 336);
	m256I = _mm256_load_ps(SFIm + 336);
	_mm256_store_ps(SFRe + 336, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 336, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 464);
	m256I = _mm256_load_ps(SFIm + 464);
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 464, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 464);
	m256I = _mm256_load_ps(SFIm + 464);
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_load_ps(SFIm + 336), m256I));
	_mm256_store_ps(SFIm + 464, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 336)));
	_mm256_store_ps(SFRe + 336, _mm256_add_ps(_mm256_load_ps(SFRe + 336), m256R));
	_mm256_store_ps(SFIm + 336, _mm256_add_ps(_mm256_load_ps(SFIm + 336), m256I));
	m256RF1 = _mm256_set_ps(0.394001, 0.405230, 0.416444, 0.427550, 0.438637, 0.449612, 0.460565, 0.471404);
	m256IF1 = _mm256_set_ps(-0.919110, -0.914215, -0.909161, -0.903992, -0.898664, -0.893224, -0.887626, -0.881918);
	m256RF2 = _mm256_set_ps(-0.937349, -0.949532, -0.960430, -0.970039, -0.978321, -0.985278, -0.990908, -0.995187);
	m256IF2 = _mm256_set_ps(0.348392, 0.313669, 0.278521, 0.242948, 0.207093, 0.170958, 0.134543, 0.097994);
	m256R = _mm256_load_ps(SFRe + 344);
	m256I = _mm256_load_ps(SFIm + 344);
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 344, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 472);
	m256I = _mm256_load_ps(SFIm + 472);
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 472, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 472);
	m256I = _mm256_load_ps(SFIm + 472);
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_load_ps(SFIm + 344), m256I));
	_mm256_store_ps(SFIm + 472, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 344)));
	_mm256_store_ps(SFRe + 344, _mm256_add_ps(_mm256_load_ps(SFRe + 344), m256R));
	_mm256_store_ps(SFIm + 344, _mm256_add_ps(_mm256_load_ps(SFIm + 344), m256I));
	m256RF1 = _mm256_set_ps(0.301990, 0.313692, 0.325300, 0.336907, 0.348415, 0.359918, 0.371320, 0.382712);
	m256IF1 = _mm256_set_ps(-0.953311, -0.949525, -0.945611, -0.941538, -0.937340, -0.932984, -0.928505, -0.923868);
	m256RF2 = _mm256_set_ps(-0.795836, -0.817604, -0.838235, -0.857731, -0.876089, -0.893235, -0.909172, -0.923896);
	m256IF2 = _mm256_set_ps(0.605512, 0.575780, 0.545309, 0.514099, 0.482150, 0.449590, 0.416422, 0.382643);
	m256R = _mm256_load_ps(SFRe + 352);
	m256I = _mm256_load_ps(SFIm + 352);
	_mm256_store_ps(SFRe + 352, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 352, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 480);
	m256I = _mm256_load_ps(SFIm + 480);
	_mm256_store_ps(SFRe + 480, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 480, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 480);
	m256I = _mm256_load_ps(SFIm + 480);
	_mm256_store_ps(SFRe + 480, _mm256_sub_ps(_mm256_load_ps(SFIm + 352), m256I));
	_mm256_store_ps(SFIm + 480, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 352)));
	_mm256_store_ps(SFRe + 352, _mm256_add_ps(_mm256_load_ps(SFRe + 352), m256R));
	_mm256_store_ps(SFIm + 352, _mm256_add_ps(_mm256_load_ps(SFIm + 352), m256I));
	m256RF1 = _mm256_set_ps(0.207118, 0.219086, 0.231071, 0.242972, 0.254885, 0.266711, 0.278545, 0.290289);
	m256IF1 = _mm256_set_ps(-0.978316, -0.975705, -0.972937, -0.970033, -0.966971, -0.963777, -0.960423, -0.956939);
	m256RF2 = _mm256_set_ps(-0.585814, -0.615235, -0.643823, -0.671577, -0.698383, -0.724243, -0.749156, -0.773019);
	m256IF2 = _mm256_set_ps(0.810446, 0.788344, 0.765174, 0.740935, 0.715724, 0.689545, 0.662394, 0.634382);
	m256R = _mm256_load_ps(SFRe + 360);
	m256I = _mm256_load_ps(SFIm + 360);
	_mm256_store_ps(SFRe + 360, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 360, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 488);
	m256I = _mm256_load_ps(SFIm + 488);
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 488, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 488);
	m256I = _mm256_load_ps(SFIm + 488);
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_load_ps(SFIm + 360), m256I));
	_mm256_store_ps(SFIm + 488, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 360)));
	_mm256_store_ps(SFRe + 360, _mm256_add_ps(_mm256_load_ps(SFRe + 360), m256R));
	_mm256_store_ps(SFIm + 360, _mm256_add_ps(_mm256_load_ps(SFIm + 360), m256I));
	m256RF1 = _mm256_set_ps(0.110252, 0.122419, 0.134567, 0.146745, 0.158851, 0.170983, 0.183040, 0.195118);
	m256IF1 = _mm256_set_ps(-0.993904, -0.992479, -0.990904, -0.989174, -0.987302, -0.985274, -0.983106, -0.980780);
	m256RF2 = _mm256_set_ps(-0.325300, -0.359918, -0.394001, -0.427550, -0.460565, -0.492911, -0.524589, -0.555599);
	m256IF2 = _mm256_set_ps(0.945611, 0.932984, 0.919110, 0.903992, 0.887626, 0.870080, 0.851355, 0.831451);
	m256R = _mm256_load_ps(SFRe + 368);
	m256I = _mm256_load_ps(SFIm + 368);
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 368, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 496);
	m256I = _mm256_load_ps(SFIm + 496);
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 496, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 496);
	m256I = _mm256_load_ps(SFIm + 496);
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_load_ps(SFIm + 368), m256I));
	_mm256_store_ps(SFIm + 496, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 368)));
	_mm256_store_ps(SFRe + 368, _mm256_add_ps(_mm256_load_ps(SFRe + 368), m256R));
	_mm256_store_ps(SFIm + 368, _mm256_add_ps(_mm256_load_ps(SFIm + 368), m256I));
	m256RF1 = _mm256_set_ps(0.012275, 0.024523, 0.036817, 0.049056, 0.061337, 0.073559, 0.085820, 0.098019);
	m256IF1 = _mm256_set_ps(-0.999925, -0.999699, -0.999322, -0.998796, -0.998117, -0.997291, -0.996311, -0.995185);
	m256RF2 = _mm256_set_ps(-0.036817, -0.073559, -0.110252, -0.146745, -0.183040, -0.219086, -0.254885, -0.290289);
	m256IF2 = _mm256_set_ps(0.999322, 0.997291, 0.993904, 0.989174, 0.983106, 0.975705, 0.966971, 0.956939);
	m256R = _mm256_load_ps(SFRe + 376);
	m256I = _mm256_load_ps(SFIm + 376);
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF1), _mm256_mul_ps(m256I, m256IF1)));
	_mm256_store_ps(SFIm + 376, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF1), _mm256_mul_ps(m256I, m256RF1)));
	m256R = _mm256_load_ps(SFRe + 504);
	m256I = _mm256_load_ps(SFIm + 504);
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_mul_ps(m256R, m256RF2), _mm256_mul_ps(m256I, m256IF2)));
	_mm256_store_ps(SFIm + 504, _mm256_add_ps(_mm256_mul_ps(m256R, m256IF2), _mm256_mul_ps(m256I, m256RF2)));
	m256R = _mm256_load_ps(SFRe + 504);
	m256I = _mm256_load_ps(SFIm + 504);
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_load_ps(SFIm + 376), m256I));
	_mm256_store_ps(SFIm + 504, _mm256_sub_ps(m256R, _mm256_load_ps(SFRe + 376)));
	_mm256_store_ps(SFRe + 376, _mm256_add_ps(_mm256_load_ps(SFRe + 376), m256R));
	_mm256_store_ps(SFIm + 376, _mm256_add_ps(_mm256_load_ps(SFIm + 376), m256I));
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 256));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 256));
	_mm256_store_ps(SFRe + 256, _mm256_sub_ps(_mm256_load_ps(SFRe + 0), _mm256_load_ps(SFRe + 256)));
	_mm256_store_ps(SFIm + 256, _mm256_sub_ps(_mm256_load_ps(SFIm + 0), _mm256_load_ps(SFIm + 256)));
	_mm256_store_ps(SFRe + 0, m256R);
	_mm256_store_ps(SFIm + 0, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 264));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 264));
	_mm256_store_ps(SFRe + 264, _mm256_sub_ps(_mm256_load_ps(SFRe + 8), _mm256_load_ps(SFRe + 264)));
	_mm256_store_ps(SFIm + 264, _mm256_sub_ps(_mm256_load_ps(SFIm + 8), _mm256_load_ps(SFIm + 264)));
	_mm256_store_ps(SFRe + 8, m256R);
	_mm256_store_ps(SFIm + 8, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 272));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 272));
	_mm256_store_ps(SFRe + 272, _mm256_sub_ps(_mm256_load_ps(SFRe + 16), _mm256_load_ps(SFRe + 272)));
	_mm256_store_ps(SFIm + 272, _mm256_sub_ps(_mm256_load_ps(SFIm + 16), _mm256_load_ps(SFIm + 272)));
	_mm256_store_ps(SFRe + 16, m256R);
	_mm256_store_ps(SFIm + 16, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 280));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 280));
	_mm256_store_ps(SFRe + 280, _mm256_sub_ps(_mm256_load_ps(SFRe + 24), _mm256_load_ps(SFRe + 280)));
	_mm256_store_ps(SFIm + 280, _mm256_sub_ps(_mm256_load_ps(SFIm + 24), _mm256_load_ps(SFIm + 280)));
	_mm256_store_ps(SFRe + 24, m256R);
	_mm256_store_ps(SFIm + 24, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 288));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 288));
	_mm256_store_ps(SFRe + 288, _mm256_sub_ps(_mm256_load_ps(SFRe + 32), _mm256_load_ps(SFRe + 288)));
	_mm256_store_ps(SFIm + 288, _mm256_sub_ps(_mm256_load_ps(SFIm + 32), _mm256_load_ps(SFIm + 288)));
	_mm256_store_ps(SFRe + 32, m256R);
	_mm256_store_ps(SFIm + 32, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 296));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 296));
	_mm256_store_ps(SFRe + 296, _mm256_sub_ps(_mm256_load_ps(SFRe + 40), _mm256_load_ps(SFRe + 296)));
	_mm256_store_ps(SFIm + 296, _mm256_sub_ps(_mm256_load_ps(SFIm + 40), _mm256_load_ps(SFIm + 296)));
	_mm256_store_ps(SFRe + 40, m256R);
	_mm256_store_ps(SFIm + 40, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 304));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 304));
	_mm256_store_ps(SFRe + 304, _mm256_sub_ps(_mm256_load_ps(SFRe + 48), _mm256_load_ps(SFRe + 304)));
	_mm256_store_ps(SFIm + 304, _mm256_sub_ps(_mm256_load_ps(SFIm + 48), _mm256_load_ps(SFIm + 304)));
	_mm256_store_ps(SFRe + 48, m256R);
	_mm256_store_ps(SFIm + 48, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 312));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 312));
	_mm256_store_ps(SFRe + 312, _mm256_sub_ps(_mm256_load_ps(SFRe + 56), _mm256_load_ps(SFRe + 312)));
	_mm256_store_ps(SFIm + 312, _mm256_sub_ps(_mm256_load_ps(SFIm + 56), _mm256_load_ps(SFIm + 312)));
	_mm256_store_ps(SFRe + 56, m256R);
	_mm256_store_ps(SFIm + 56, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 320));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 320));
	_mm256_store_ps(SFRe + 320, _mm256_sub_ps(_mm256_load_ps(SFRe + 64), _mm256_load_ps(SFRe + 320)));
	_mm256_store_ps(SFIm + 320, _mm256_sub_ps(_mm256_load_ps(SFIm + 64), _mm256_load_ps(SFIm + 320)));
	_mm256_store_ps(SFRe + 64, m256R);
	_mm256_store_ps(SFIm + 64, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 328));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 328));
	_mm256_store_ps(SFRe + 328, _mm256_sub_ps(_mm256_load_ps(SFRe + 72), _mm256_load_ps(SFRe + 328)));
	_mm256_store_ps(SFIm + 328, _mm256_sub_ps(_mm256_load_ps(SFIm + 72), _mm256_load_ps(SFIm + 328)));
	_mm256_store_ps(SFRe + 72, m256R);
	_mm256_store_ps(SFIm + 72, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 80), _mm256_load_ps(SFRe + 336));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 80), _mm256_load_ps(SFIm + 336));
	_mm256_store_ps(SFRe + 336, _mm256_sub_ps(_mm256_load_ps(SFRe + 80), _mm256_load_ps(SFRe + 336)));
	_mm256_store_ps(SFIm + 336, _mm256_sub_ps(_mm256_load_ps(SFIm + 80), _mm256_load_ps(SFIm + 336)));
	_mm256_store_ps(SFRe + 80, m256R);
	_mm256_store_ps(SFIm + 80, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 88), _mm256_load_ps(SFRe + 344));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 88), _mm256_load_ps(SFIm + 344));
	_mm256_store_ps(SFRe + 344, _mm256_sub_ps(_mm256_load_ps(SFRe + 88), _mm256_load_ps(SFRe + 344)));
	_mm256_store_ps(SFIm + 344, _mm256_sub_ps(_mm256_load_ps(SFIm + 88), _mm256_load_ps(SFIm + 344)));
	_mm256_store_ps(SFRe + 88, m256R);
	_mm256_store_ps(SFIm + 88, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 352));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 352));
	_mm256_store_ps(SFRe + 352, _mm256_sub_ps(_mm256_load_ps(SFRe + 96), _mm256_load_ps(SFRe + 352)));
	_mm256_store_ps(SFIm + 352, _mm256_sub_ps(_mm256_load_ps(SFIm + 96), _mm256_load_ps(SFIm + 352)));
	_mm256_store_ps(SFRe + 96, m256R);
	_mm256_store_ps(SFIm + 96, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 360));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 360));
	_mm256_store_ps(SFRe + 360, _mm256_sub_ps(_mm256_load_ps(SFRe + 104), _mm256_load_ps(SFRe + 360)));
	_mm256_store_ps(SFIm + 360, _mm256_sub_ps(_mm256_load_ps(SFIm + 104), _mm256_load_ps(SFIm + 360)));
	_mm256_store_ps(SFRe + 104, m256R);
	_mm256_store_ps(SFIm + 104, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 112), _mm256_load_ps(SFRe + 368));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 112), _mm256_load_ps(SFIm + 368));
	_mm256_store_ps(SFRe + 368, _mm256_sub_ps(_mm256_load_ps(SFRe + 112), _mm256_load_ps(SFRe + 368)));
	_mm256_store_ps(SFIm + 368, _mm256_sub_ps(_mm256_load_ps(SFIm + 112), _mm256_load_ps(SFIm + 368)));
	_mm256_store_ps(SFRe + 112, m256R);
	_mm256_store_ps(SFIm + 112, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 120), _mm256_load_ps(SFRe + 376));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 120), _mm256_load_ps(SFIm + 376));
	_mm256_store_ps(SFRe + 376, _mm256_sub_ps(_mm256_load_ps(SFRe + 120), _mm256_load_ps(SFRe + 376)));
	_mm256_store_ps(SFIm + 376, _mm256_sub_ps(_mm256_load_ps(SFIm + 120), _mm256_load_ps(SFIm + 376)));
	_mm256_store_ps(SFRe + 120, m256R);
	_mm256_store_ps(SFIm + 120, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 384));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 384));
	_mm256_store_ps(SFRe + 384, _mm256_sub_ps(_mm256_load_ps(SFRe + 128), _mm256_load_ps(SFRe + 384)));
	_mm256_store_ps(SFIm + 384, _mm256_sub_ps(_mm256_load_ps(SFIm + 128), _mm256_load_ps(SFIm + 384)));
	_mm256_store_ps(SFRe + 128, m256R);
	_mm256_store_ps(SFIm + 128, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 392));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 392));
	_mm256_store_ps(SFRe + 392, _mm256_sub_ps(_mm256_load_ps(SFRe + 136), _mm256_load_ps(SFRe + 392)));
	_mm256_store_ps(SFIm + 392, _mm256_sub_ps(_mm256_load_ps(SFIm + 136), _mm256_load_ps(SFIm + 392)));
	_mm256_store_ps(SFRe + 136, m256R);
	_mm256_store_ps(SFIm + 136, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 144), _mm256_load_ps(SFRe + 400));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 144), _mm256_load_ps(SFIm + 400));
	_mm256_store_ps(SFRe + 400, _mm256_sub_ps(_mm256_load_ps(SFRe + 144), _mm256_load_ps(SFRe + 400)));
	_mm256_store_ps(SFIm + 400, _mm256_sub_ps(_mm256_load_ps(SFIm + 144), _mm256_load_ps(SFIm + 400)));
	_mm256_store_ps(SFRe + 144, m256R);
	_mm256_store_ps(SFIm + 144, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 152), _mm256_load_ps(SFRe + 408));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 152), _mm256_load_ps(SFIm + 408));
	_mm256_store_ps(SFRe + 408, _mm256_sub_ps(_mm256_load_ps(SFRe + 152), _mm256_load_ps(SFRe + 408)));
	_mm256_store_ps(SFIm + 408, _mm256_sub_ps(_mm256_load_ps(SFIm + 152), _mm256_load_ps(SFIm + 408)));
	_mm256_store_ps(SFRe + 152, m256R);
	_mm256_store_ps(SFIm + 152, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 160), _mm256_load_ps(SFRe + 416));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 160), _mm256_load_ps(SFIm + 416));
	_mm256_store_ps(SFRe + 416, _mm256_sub_ps(_mm256_load_ps(SFRe + 160), _mm256_load_ps(SFRe + 416)));
	_mm256_store_ps(SFIm + 416, _mm256_sub_ps(_mm256_load_ps(SFIm + 160), _mm256_load_ps(SFIm + 416)));
	_mm256_store_ps(SFRe + 160, m256R);
	_mm256_store_ps(SFIm + 160, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 168), _mm256_load_ps(SFRe + 424));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 168), _mm256_load_ps(SFIm + 424));
	_mm256_store_ps(SFRe + 424, _mm256_sub_ps(_mm256_load_ps(SFRe + 168), _mm256_load_ps(SFRe + 424)));
	_mm256_store_ps(SFIm + 424, _mm256_sub_ps(_mm256_load_ps(SFIm + 168), _mm256_load_ps(SFIm + 424)));
	_mm256_store_ps(SFRe + 168, m256R);
	_mm256_store_ps(SFIm + 168, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 176), _mm256_load_ps(SFRe + 432));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 176), _mm256_load_ps(SFIm + 432));
	_mm256_store_ps(SFRe + 432, _mm256_sub_ps(_mm256_load_ps(SFRe + 176), _mm256_load_ps(SFRe + 432)));
	_mm256_store_ps(SFIm + 432, _mm256_sub_ps(_mm256_load_ps(SFIm + 176), _mm256_load_ps(SFIm + 432)));
	_mm256_store_ps(SFRe + 176, m256R);
	_mm256_store_ps(SFIm + 176, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 184), _mm256_load_ps(SFRe + 440));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 184), _mm256_load_ps(SFIm + 440));
	_mm256_store_ps(SFRe + 440, _mm256_sub_ps(_mm256_load_ps(SFRe + 184), _mm256_load_ps(SFRe + 440)));
	_mm256_store_ps(SFIm + 440, _mm256_sub_ps(_mm256_load_ps(SFIm + 184), _mm256_load_ps(SFIm + 440)));
	_mm256_store_ps(SFRe + 184, m256R);
	_mm256_store_ps(SFIm + 184, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 448));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 448));
	_mm256_store_ps(SFRe + 448, _mm256_sub_ps(_mm256_load_ps(SFRe + 192), _mm256_load_ps(SFRe + 448)));
	_mm256_store_ps(SFIm + 448, _mm256_sub_ps(_mm256_load_ps(SFIm + 192), _mm256_load_ps(SFIm + 448)));
	_mm256_store_ps(SFRe + 192, m256R);
	_mm256_store_ps(SFIm + 192, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 456));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 456));
	_mm256_store_ps(SFRe + 456, _mm256_sub_ps(_mm256_load_ps(SFRe + 200), _mm256_load_ps(SFRe + 456)));
	_mm256_store_ps(SFIm + 456, _mm256_sub_ps(_mm256_load_ps(SFIm + 200), _mm256_load_ps(SFIm + 456)));
	_mm256_store_ps(SFRe + 200, m256R);
	_mm256_store_ps(SFIm + 200, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 208), _mm256_load_ps(SFRe + 464));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 208), _mm256_load_ps(SFIm + 464));
	_mm256_store_ps(SFRe + 464, _mm256_sub_ps(_mm256_load_ps(SFRe + 208), _mm256_load_ps(SFRe + 464)));
	_mm256_store_ps(SFIm + 464, _mm256_sub_ps(_mm256_load_ps(SFIm + 208), _mm256_load_ps(SFIm + 464)));
	_mm256_store_ps(SFRe + 208, m256R);
	_mm256_store_ps(SFIm + 208, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 216), _mm256_load_ps(SFRe + 472));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 216), _mm256_load_ps(SFIm + 472));
	_mm256_store_ps(SFRe + 472, _mm256_sub_ps(_mm256_load_ps(SFRe + 216), _mm256_load_ps(SFRe + 472)));
	_mm256_store_ps(SFIm + 472, _mm256_sub_ps(_mm256_load_ps(SFIm + 216), _mm256_load_ps(SFIm + 472)));
	_mm256_store_ps(SFRe + 216, m256R);
	_mm256_store_ps(SFIm + 216, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 224), _mm256_load_ps(SFRe + 480));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 224), _mm256_load_ps(SFIm + 480));
	_mm256_store_ps(SFRe + 480, _mm256_sub_ps(_mm256_load_ps(SFRe + 224), _mm256_load_ps(SFRe + 480)));
	_mm256_store_ps(SFIm + 480, _mm256_sub_ps(_mm256_load_ps(SFIm + 224), _mm256_load_ps(SFIm + 480)));
	_mm256_store_ps(SFRe + 224, m256R);
	_mm256_store_ps(SFIm + 224, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 232), _mm256_load_ps(SFRe + 488));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 232), _mm256_load_ps(SFIm + 488));
	_mm256_store_ps(SFRe + 488, _mm256_sub_ps(_mm256_load_ps(SFRe + 232), _mm256_load_ps(SFRe + 488)));
	_mm256_store_ps(SFIm + 488, _mm256_sub_ps(_mm256_load_ps(SFIm + 232), _mm256_load_ps(SFIm + 488)));
	_mm256_store_ps(SFRe + 232, m256R);
	_mm256_store_ps(SFIm + 232, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 240), _mm256_load_ps(SFRe + 496));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 240), _mm256_load_ps(SFIm + 496));
	_mm256_store_ps(SFRe + 496, _mm256_sub_ps(_mm256_load_ps(SFRe + 240), _mm256_load_ps(SFRe + 496)));
	_mm256_store_ps(SFIm + 496, _mm256_sub_ps(_mm256_load_ps(SFIm + 240), _mm256_load_ps(SFIm + 496)));
	_mm256_store_ps(SFRe + 240, m256R);
	_mm256_store_ps(SFIm + 240, m256I);
	m256R = _mm256_add_ps(_mm256_load_ps(SFRe + 248), _mm256_load_ps(SFRe + 504));
	m256I = _mm256_add_ps(_mm256_load_ps(SFIm + 248), _mm256_load_ps(SFIm + 504));
	_mm256_store_ps(SFRe + 504, _mm256_sub_ps(_mm256_load_ps(SFRe + 248), _mm256_load_ps(SFRe + 504)));
	_mm256_store_ps(SFIm + 504, _mm256_sub_ps(_mm256_load_ps(SFIm + 248), _mm256_load_ps(SFIm + 504)));
	_mm256_store_ps(SFRe + 248, m256R);
	_mm256_store_ps(SFIm + 248, m256I);
}
#endif